通过Datatable在DataGridView中添加Combobox

时间:2010-02-16 11:18:07

标签: c# winforms datagridview datatable

我有一个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的数据类型做一些事情,但我不知道如何做到这一点。任何人都可以给我任何指针吗?

2 个答案:

答案 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()