Ich habe eine Hauptklasse, die ein DataSet erstellt und auffüllt, und eine Instanz dieser Klasse wird dann als Referenz an Untersteuerelemente meiner Anwendung übergeben. Ich möchte dieses Dataset verwenden, um an Komponenten zu binden, in diesem Fall eine Listbox. Dies ist für eine Windows Forms-Anwendung..Net Listbox DataBinding Problem
Heres, was ich versuche:
channelTypesLB.DataBindings.Add("Text", synData.ds, "ChannelTypes.channelType");
Hinweis, ich habe auch schon versucht, diese: (nicht sicher, ob noch ein Unterschied)
channelTypesLB.DataBindings.Add("Text", synData.ds.Tables["ChannelTypes"], "channelType");
Theres keine Fehler, und ich sehe nicht, die Daten in der Listbox ... wenn ich synData.ds.Tables["ChannelTypes"].Rows.Count
ausspreche, sagt es mir, dass es tatsächlich Daten in dieser Datentabelle gibt.
Fehle ich etwas? Ich habe auch channelTypesLB.Refresh(); nach dem Einstellen der Datenbindung.
Dies kann auch hilfreich sein ... Dies ist der Code in meiner Haupt-Klasse, wo der Datensatz erstellt wird, nicht sicher, ob sein vielleicht ein Umfang Problem, würde ich mich vorstellen, ich einen Fehler erhalten hätte:
private DataSet _ds = new DataSet();
public DataSet ds { get { return _ds; } }
Hrmm, das funktioniert ... verwendet DisplayMember anstelle von DataMember ... Ich würde den 1 Liner der Verwendung von DataBindings obwohl –
whoops bevorzugen, das war ein Tippfehler - nicht so etwas wie ein DataMember. Sie können auch eine 'BindingSource' erstellen, die selbst über eine DataSource und DisplayMember verfügt (obwohl sie über Konstruktor zugänglich sind, glaube ich) und ListBox.DataSource = BindingSource setzen – STW
Danke, dass Sie mich in die richtige Richtung weisen –