我有一个DataGridView
,并且正在通过DataTable
填充它。初始化时,将DataColumns
添加到DataTable
,然后将DataGridView的DataSource
设置为DataTable。这是代码:
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;
这项工作正常,但是,我想将其中一列显示为组合框。我认为我必须对Column的数据类型做一些事情,但是我不确定如何做到这一点。谁能给我任何指向这一点的指针?
最佳答案
这很老,但是我想我还是要回答,因为我前一段时间也有同样的问题。
首先,您无法创建DataGridViewComboBoxColumn类型的DataTable列。 DataColumn继承自System.Data,而DataGridView * Columns继承自System.Windows.Forms。
您可以尝试以下操作:将DataTable绑定到DataGridView之后,DataTable中的列应显示在设计器中的DataGridView上。如果然后展开DataGridView的Columns属性,则应该看到DataTable中的列已添加到列表中。选择所需的列,然后在右侧窗格中将有一个名为“ ColumnType”的属性。默认类型为DataGridViewTextBoxColumn,但是您可以将其更改为DataGridViewComboBoxColumn。
关于c# - 通过Datatable在DataGridView中添加组合框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2272397/