/*
WinForm.DataGridView代码绑定DataGridView下拉列
* 注意点:ComboBoxColumn.DataPropertyName需与GuidView绑定列名(数据源属性名)一致
*/
//模拟Grid数据
DataTable dt = new DataTable();
dt.Columns.Add("C1");
DataRow dr = dt.NewRow();
dr["C1"] = "value1";
dt.Rows.Add(dr);
//模拟下拉数据
var comboBox_Dt = new DataTable();
comboBox_Dt.Columns.Add("Text");
comboBox_Dt.Columns.Add("Value");
for (int i = 0; i < 10; i++)
{
DataRow comboBox_DtDr = comboBox_Dt.NewRow();
comboBox_DtDr["Text"] = "Text" + i;
comboBox_DtDr["Value"] = "value" + i;
comboBox_Dt.Rows.Add(comboBox_DtDr);
}
//创建下拉列
if (comboBox_Dt.Rows.Count > 0)
{
DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn();
comboBoxColumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
comboBoxColumn.DataSource = comboBox_Dt;
comboBoxColumn.DataPropertyName = "C1";
comboBoxColumn.DisplayMember = "Text";
comboBoxColumn.ValueMember = "Value";
dgvTest.Columns.Add(comboBoxColumn);
}
//绑定数据
dgvTest.DataSource = dt;