FMX.Controls.Model.TDataModel
Delphi
TDataModel = class(TMessageSender)
C++
class PASCALIMPLEMENTATION TDataModel : public Fmx::Presentation::Messages::TMessageSender
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
class | public | FMX.Controls.Model.pas FMX.Controls.Model.hpp |
FMX.Controls.Model | FMX.Controls.Model |
Beschreibung
Datenmodelle für dargestellte Steuerelemente.
TDataModel ist die Basisklasse von Datenmodellen für dargestellte Steuerelemente. Abgeleitete Klassen definieren Eigenschaften, die von Eigenschaften zugehöriger dargestellter Steuerelemente verwendete Datenwerte speichern.
TDataModel erweitert die Klasse TMessageSender, die die Funktionalität zum Senden von Botschaften bereitstellt. Ein Datenmodell kann einen Empfänger (oder eine Darstellung) definieren und Botschaften an diesen Empfänger senden, wenn sich die Daten eines Datenmodells ändern, um die im zugehörigen dargestellten Steuerelement angezeigten Werte zu aktualisieren. Wenn ein Datenmodell Datenwerte liest oder schreibt, sendet es MM_GETDATA
- und MM_DATA_CHANGED
-Botschaften an eine Darstellung.
TDataModel definiert die Eigenschaft DataSource, die eine Sammlung von Schlüssel/Wertepaaren enthält. Schlüssel sind Strings und Werte sind Instanzen von TValue. Der Typ TValue kann Daten eines beliebigen Typs aufnehmen und verarbeiten, daher kann die Sammlung DataSource alle erforderlichen Daten aufnehmen. Das bedeutet, dass TDataModel keine neue eigene Klasse erstellen muss, um Daten eines beliebigen Typs aufzunehmen. Beispielsweise kann TDataModel ein String-Array aufnehmen, das als Sammlung in einem Editor verwendet werden kann. Zum Beispiel:
type
TStringArray = TArray<string>;
var
ArrayList1, ArrayList2: TStringArray;
...
{ Setting/Getting value of array type }
ArrayList1 := ['Apple', 'ARC', 'Auto', 'Allday', 'Alltime'];
Edit1.Model.Data['array_value'] := TValue.From<TStringArray>(ArrayList1);
...
if Edit1.Model.Data['array_value'].IsType<TStringArray> then
ArrayList2 := Edit1.Model.Data['array_value'].AsType<TStringArray>;
Wenn Sie ein Datenmodell erstellen, müssen Sie an den Konstruktor ein Darstellungssteuerelement übergeben. Das angegebene Darstellungssteuerelement ist Eigentümer des Modells.
Siehe auch
- FMX.Controls.Model.TDataModel.DataSource
- FMX.Controls.Model.TDataModel.Data
- System.Generics.Collections.TDictionary
- FMX.Controls.Presentation.TPresentedControl
- FMX.Presentation.Messages.TMessageSender.Receiver
- FMX.Controls.Presentation.TPresentedControl.Model
- FMX.Controls.Model.TDataModel.Owner
- System.String
- System.Rtti.TValue