c# fügen Sie eine dgv-Zeile mit einem dataGridViewComboBoxCell

Ich bin versucht derzeit, fügen Sie ein Kombinationsfeld-Steuerelement an ein dataGridView.

In der DGV, es gibt 5 Spalten: checkbox, string, string, combobox, combobox.

beiden combobox-Spalten konfiguriert sind, wie datagridviewcomboboxcolumns (über VisualStudio-designer). Mein problem ist das hinzufügen von Zeilen.

Meinen aktuellen versuchen ist: die Säulen sind bereits definiert und ich Zeilen hinzufügen über dataGridView.Zeilen.Hinzufügen.
Dafür verwende ich ein array von Objekten. Beispiel:

dataGridViewRow row = new dataGridViewRow();
object[] obj = new object[5] {true, "str1", "str2", null, null};
dataGridView1.Rows.Add(obj);

Diese Pässe ohne Fehler. Aber logisch, die comboBoxes nicht gefüllt mit nichts.

Ich habe versucht, eine Datenquelle in der 4. und 5. Zelle einer Zeile:

Fehler...ZEILE.dataGridViewComboBoxCell.Elemente.Hinzufügen: Objekte werden nicht angezeigt...

Füllung obj[3] und 4 mit einem neuen DGVcomboBoxCell oder -Spalte:

 Error... :The error message says "The dataGridViewComboBoxCell-Value is invalid.

Weitere Informationen: Jede Spalte sollte haben die gleichen Elemente in den comboBoxes. (Diese sind zuvor über das internet, als xml). Einstellung eine dataSource um die zwei Spalten, die zerstört die ganze DGV (ich denke, weil die anderen colmns nicht über eine Datasource).
Kurz gesagt: gewusst Wie: hinzufügen von Zeilen zu einer DGV enthalten, die comboboxes gefüllt mit Artikeln?

Mit freundlichen GRÜßEN,
NoMad

edit: hier etwas code um mein problem zu lösen:

        DataGridViewCheckBoxColumn check = new DataGridViewCheckBoxColumn();
        check.Name = "Col1";
        dataGridView1.Columns.Add(check);

        dataGridView1.ColumnCount = 3;
        dataGridView1.Columns[1].Name = "Col2";
        dataGridView1.Columns[2].Name = "Col3";

        object[] row = new object[] { true, "str1", "str2" };
        dataGridView1.Rows.Add(row);

        DataGridViewComboBoxColumn combo1 = new DataGridViewComboBoxColumn();
        DataGridViewComboBoxColumn combo2 = new DataGridViewComboBoxColumn();

        combo1.Name = "Col4";
        combo1.Items.Add("100x100");
        combo1.Items.Add("200x200");

        combo2.Name = "Col5";
        combo2.Items.Add("option1");
        combo2.Items.Add("option2");

        dataGridView1.Columns.Add(combo1);
        dataGridView1.Columns.Add(combo2); 

Zuerst fügen Sie eine Zeile hinzu, cast Spalten, konfigurieren Sie Sie und fügen Sie die Zeile.
Keine Spalten müssen zuvor angegeben, in der designer.

InformationsquelleAutor NoMad | 2011-10-09
Schreibe einen Kommentar