我的代码:
DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell();
DataTable data = new DataTable();
data.Columns.Add(new DataColumn("Value", typeof(string)));
data.Columns.Add(new DataColumn("Description", typeof(string)));
data.Rows.Add("5", "6");
data.Rows.Add("51", "26");
data.Rows.Add("531", "63");
cell.DataSource = data;
cell.ValueMember = "Value";
cell.DisplayMember = "Description";
cell.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
dataGridView1.Rows[0].Cells[0] = cell;
显示组合框,但无法选择任何值。 什么错了
答案 0 :(得分:7)
您通常不使用DataGridView
中的各个单元格类型。相反,您需要添加DataGridViewComboBoxColumn
类型的列。
因此,您需要以下内容代替您提供的代码:
var column = new DataGridViewComboBoxColumn();
DataTable data = new DataTable();
data.Columns.Add(new DataColumn("Value", typeof(string)));
data.Columns.Add(new DataColumn("Description", typeof(string)));
data.Rows.Add("5", "6");
data.Rows.Add("51", "26");
data.Rows.Add("531", "63");
column.DataSource = data;
column.ValueMember = "Value";
column.DisplayMember = "Description";
dataGridView1.Columns.Add(column);
作为参考,DataGridViewCombobBoxCell上的文档位于MSDN here上。您还可以在那里找到有关DataGridView的信息。另一个非常好的参考是DataGridViewFAQ。