Autor Beitrag
mr-dayton
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 11.08.10 15:31 
Hallo liebes c# Forum

Ich versuche momentan folgende Problemstellung zu lösen:

Aus einer CSV-Datei erstelle ich ein Dataset. Dieses wird in einem Datagridview ausgegeben. Dies funktioniert tadellos. Sobald ich aber versuche, die erste Reihe mit Comboboxes zu füllen komme ich an meine Grenzen. Ich möchte, dass zu beginn jeder Spalte eine Combobox erscheint, mit immer derselben Auswahl (z.B. Name, Vorname usw.).

Meine kläglichen Versuche erspare ich euch, da sie immer mit einem Fehler enden.

Hat jemand von euch einen Vorschlag?

Vielen Dank!!
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mi 11.08.10 15:45 
Was für Fehler kommen denn?
Das Datagridview dürfte sich ja die Daten aus dem Datset selbst holen wenn du noch zusätzliche Reihen oder Spalten haben willst kannst du die doch einfach einfügen.
(DataGridViewRow erstellen, Zellen hinzufügen, Zeile in GridView einfügen aber bitte drauf achten das überhaupt Spalten da sind)
mr-dayton Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 11.08.10 15:59 
Viele Dank für die rasche Antwort

Also ich versuche folgendes:

DataTable dt = reader.GetDataTable(';'); //Datatable holen mit Seperator als Parameter

DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell();
cell.Items.Add("Name");
cell.Items.Add("Vorname");

dataGridView1.DataSource = dt;

DataGridViewRow row = new DataGridViewRow();
row.Cells.Add(cell);
dataGridView1.Rows.Add(row);

Danach bekomme ich folgenden Fehler:
"Invalid Operation Exception"
Zeilen können nicht automatisch zur Zeilenauflistung der DataGridView hinzugefügt werden, wenn das Steuerelement datengebunden ist.
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mi 11.08.10 16:08 
Da stehts doch.
DataGridView ist datengebunden also musst dus der Datenquelle (in dem Fall der DataTable) hinzufügen.
mr-dayton Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mi 11.08.10 16:33 
Logisch :-)

Also es hat so mehr oder weniger geklappt:

dt = datatable

object[] boxes = new object[dt.Columns.Count];
for (int i = 0; i < dt.Columns.Count;i++ )
{
ComboBox box = new ComboBox();
box.Items.Add("Test");
boxes[i] = box;
}


//row abfüllen

dt.Rows.Add(boxes);

Nun stehen anstatt Textboxes in meinem Datagridview : System.Windows.Forms.ComboBox, Items.Count: 1

Was habe ich da nun wieder verbockt?

Danke!
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 11.08.10 19:22 
Da warst du mit der ComboBoxCell schon näher dran. Aber da du die ComboBox ja wahrscheinlich in jeder Zeile haben willst, solltest du dir eher DataGridViewComboBoxColumn anschauen.

_________________
>λ=