Laden...

DataRow[] in listBox anzeigen

Erstellt von Cordoba vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.225 Views
C
Cordoba Themenstarter:in
54 Beiträge seit 2005
vor 17 Jahren
DataRow[] in listBox anzeigen

Hallo,

ich habe ein Array von DataRows : DataRow[] myRows;
In diesen Rows sind die Ergebnisse einer Select-Abfrage einer DataTable.

Nun möchte ich dieses Ergebnis in einer ListBox oder ComboBox (haben bei meinem Problem die gleichen Eigenschaften) darstellen.

Ich möchte folgendes in der ListBox anzeigen: alle Datensätze die in dem Feld ("FirstName" und "LastName") einmalig sind-also keine doppelten anzeigen und als Anzeige den Vor-und Nachnamen in der ListBox sehen.

Bis jetzt habe ich das so realisert:


myListBox.DataSource = myRows;
myListBox.DisplayMember = "LastName";
myListBox.ValueMember = "CardID";  //CardID ist der eindeutige Schlüssel über die Personen

jetzt folgendes Problem -> in der ListBox steht nur pro DatenSatz "System.Data.DataRow"
->es werden auch doppelte Datensätze angezeigt (also mehr "System.Data.DataRow"-Einträge als es Personen gibt)

wie kann man das ganze beheben?
Irgendwie gibt es die Eigenschaft BindingContext -ich weiß aber nicht wie man sie benutzt.

Vielen Danke für eure Hilfe

Cordoba

379 Beiträge seit 2004
vor 17 Jahren

Kannst du nicht in deiner Abfrage bereits ein Group By einbauen? Dass wäre ja am einfachsten 😉

ciao Anke

C
Cordoba Themenstarter:in
54 Beiträge seit 2005
vor 17 Jahren

ja das hatte ich auch schon überlegt.Ich weiß bloß nicht wie ich das mache.Meine Idee wäre gewesen:


DataSet clientData = null;
myRows= clientData.Tables["ClientItemList"].Select("groupby LastName='" + textBoxName.Text + "'");

geht denn sowas in einem Select-Statement eines DataSet?

379 Beiträge seit 2004
vor 17 Jahren

Hallo Cordoba,

ich hatte eigentlich die Datenbankabfrage gemeint, oder wo holst du dir die Namen her? AUf eine DataTable kann man soweit ich weiß kein GroupBy anwenden, das musst du dir wenn schon selber schreiben...

C
Cordoba Themenstarter:in
54 Beiträge seit 2005
vor 17 Jahren

ok bloede Frage:

kann man als 2.Parameter in der Select-Methode mitgeben:


myRows= clientData.Tables["ClientItemList"].Select("LastName='" + textBoxName.Text + "'","LastName DESC");DataSet clientData = null;

aber mein Problem ist dann immer noch die Eigenschaft "DisplayMember" und "valueMember" richtig zu setzen, wenn man als DataSource ein DataRow-Array an die ListBox übergeben hat.

C
Cordoba Themenstarter:in
54 Beiträge seit 2005
vor 17 Jahren

ok geht doch nicht-das ist nur ein Sorting und kein Groupby was man da als 2.Parameter mitgeben kann.
Scheint also gar nicht mit einem Select -Statement eines DataTables zu gehen...