我有一个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;
这样可以正常工作,我想将其中一个列showup作为一个组合框。我想我必须对Column的数据类型做一些事情,但我不知道如何做到这一点。任何人都可以给我任何指针吗?
答案 0 :(得分:1)
这已经过时了,但我想我还是试着回答它,因为我不久前就有同样的问题了。
首先,您无法创建DataGridViewComboBoxColumn类型的DataTable列。 DataColumn继承自System.Data,而DataGridView * Columns继承自System.Windows.Forms。
您可以尝试这样做:一旦您的DataTable绑定到DataGridView,DataTable中的列应该显示在设计器中的DataGridView上。如果然后展开DataGridView的Columns属性,您应该会看到DataTable中的列已添加到列表中。选择所需的列,在右侧窗格中将有一个名为“ColumnType”的属性。默认类型是DataGridViewTextBoxColumn,但您可以将其更改为DataGridViewComboBoxColumn。
答案 1 :(得分:0)
将声明更改为:
DataGridViewComboBoxColumn column1 = new DataGridViewComboBoxColumn()