datagridview组合框单元c#

san*_*art 3 c# combobox datagridview

我的代码:

 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;
Run Code Online (Sandbox Code Playgroud)

它显示组合框但不能选择它的任何值.怎么了

Dav*_*all 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); 
Run Code Online (Sandbox Code Playgroud)

作为参考,在DataGridViewCombobBoxCell的文件是MSDN上这里.您还可以在那里找到有关DataGridView的信息.另一个非常好的参考是DataGridViewFAQ.