Hinzufügen eines Combobox in DataGridView durch Datatable
Ich habe eine DataGridView
und ich bin füllen Sie es durch ein DataTable
. Bei der Initialisierung, die ich hinzufügen DataColumns
zu den DataTable
und legen Sie dann die DataSource
des DataGridView-Eigenschaft der DataTable. Hier ist der code:
DataTable mTable = new DataTable("Test");
DataColumn col = new DataColumn;
col.DataType = System.Type.GetType("System.Boolean");
col.ColumnName = "First";
col.ReadOnly = false;
mTable.Columns.Add(col);
col = new DataColumn;
col.DataType = System.Type.GetType("System.String");
col.ColumnName = "Second";
col.ReadOnly = false;
mTable.Columns.Add(col);
this.myGridView.DataSource = mTable;
Dies funktioniert gut, jedoch, ich wollen, um eine der Spalten showup als combobox. Ich glaube, ich habe etwas zu tun mit der Spalte Datentyp, aber ich bin nicht sicher, wie dies zu tun. Kann mir jemand alle Zeiger in diese Richtung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser ist alt, aber ich dachte, ich würde versuchen, Sie zu beantworten sowieso, da hatte ich die gleiche Frage, die mich vor einer Weile.
Zuerst von allen, können Sie nicht eine DataTable-Spalte mit type DataGridViewComboBoxColumn. DataColumn erbt von System.Daten, während DataGridView*Spalten Erben von System.Windows.Formen.
Was Sie versuchen können, ist dies: Sobald Sie den DataTable gebunden ist, um Ihre DataGridView die Spalten der DataTable sollte zeigen, bis auf das DataGridView in den designer. Wenn Sie dann erweitern Sie die Spalten Eigenschaft der DataGridView, sollten Sie Ihre Spalten einer DataTable Hinzugefügt worden sind, der Liste. Wählen Sie die Spalte, die Sie möchten, und im rechten Bereich gibt es eine Eigenschaft namens "ColumnType'. Der Standard-Typ ist DataGridViewTextBoxColumn, aber Sie können es ändern, um DataGridViewComboBoxColumn.
ändern Sie die Deklaration dieser:
DataGridViewComboBoxColumn column1 = new DataGridViewComboBoxColumn()