Zitat von
kiar:
Delphi-Quellcode:
ComboBox1.DataSource:= AL;
// soweit ist das klar und funktioniert
// jetzt will ich den zweiten Property in einer TextBox editieren
TextBox1.DataBindings.Add('Text', AL, 'Item');
leider kommt immer die Fehlermeldung an die Eigenschaft oder Spalte 'Item' für Datasource kann nicht gebunden werden.
worin liegt mein Fehler?
AL.Item ist ein Indexer [meta]welchen man nie nich direkt anfassen sollte[/meta].
Den kannst du schlecht daran binden.
Ich halte es sowieso etwas ungeschickt Controls an Controls zu binden wenn du die Datenquelle selbst nehmen könntest.
Pseudo code:
Delphi-Quellcode:
type MyClass = public class
public
property SomeProperty : string;
constructor(someProperty : string);
end;
Delphi-Quellcode:
comboBox.DataSource := list;
textBox.DataBindings.Add('Text', list, 'SomeProperty');
// ab IEnumerable, kannst du direkt gegen Properties
// des Ergebnisses von Enumerator.Current binden
Möglich, aber unflexibel und hässlich, wäre auch:
textBox.DataBindings.Add('Text', comboBox, 'SelectedItem');