DataGrid in ComboBox ?

LordDeath

Erfahrenes Mitglied
Hi


Ich lese Daten aus einer Datenbank (Access) in ein Datagrid !

Nun möchte ich aber diese Daten in einer Kombobox haben und ich habe keine Ahnung wie ich das anstellen soll !

Da ich C# mit Datenbanken noch nie gemacht habe hab ich riesige Probleme ! :(


THX

DarkGreetinx LordDeath
 
Hi!

Wie möchtest Du denn die Daten in Deiner ComboBox haben? Möchtest Du das ganze DataGrid (mit all seinen Spalten) in einer ComboBox haben Das wird aber nicht ganz einfach! Wenn Du nur eine Spalte in der ComboBox haben möchtest funktioniert das folgendermaßen:

Code:
        System.Data.DataRow r = System.Data.DataRow;
        foreach r In myDataTable.Rows
            cboLandname.Items.Add(r.Item("Landname").ToString)
        Next

cboLandname ist in in dem Beispiel die ComboBox (also deren Name-Eigenschaft). r ist wie man sieht eine DataRow, also eine Datenzeile einer Datentabelle. Die Datentabelle muß man sich als Array of Arrays vorstellen welches man durchlaufen kann. Mit der Item-Eigenschaft der DataRow kann man auf jede Spalte innerhalb der Tabelle in der aktuellen Zeile zugreifen und das jeweilige Value (also das was drin steht in der Zelle) auslesen.
Dann muß man es einfach noch zu den ComboBox-Items dazuadden...

Das Beispiel hab ich jetzt mal von VB.NET übernommen, es müßte aber so auch unter C# laufen wie es oben steht.

MfG
..::Six Dark::..
 
Muss ich das DataRow mit werten füllen ?

// Code

foreach( r in shit.Rows)
{
A_Rechnername.Items.Add(r.Item("Rechnername").ToString);
}


// End Code

Dann bringt er mir die Fehlermeldung:
"Type and identifier are both required in a foreach statement"

und da meckert er das in an !

Hast du da eine Idee was das sein kann ?

DarkGreetinx LordDeath
 
Also ich hab noch einmal rumprobiert und es funktioniert bei mir vorne und hinten nicht :(

Hat von euch sonst noch jemand eine Idee ?

DarkGreetinx LordDeath
 
Hi!

Nein, Du mußt die DataRow nicht mit Daten füllen!
Sorry, aber ich habe festgestellt, dass in C# ja DataRow gar kein Item besitzt und die ganze Sache ganz anders gehandhabt wird. Hier nun die Lösung, bei mir funktioniert es so:

Code:
foreach (System.Data.DataRow r in dt.Rows)
{
               this.comboBox1.Items.Add(r["Name"]);
}

Wobei "Name" der Name der Spalte ist welche Du in der ComboBox haben willst.

MfG
..::Six Dark::..
 

Neue Beiträge

Zurück