DataGridView的下拉DataGridViewComboBoxColumn的数据绑定问题
需求:左边这列固定x行,右边显示下拉,并且赋上默认值
public void Set(){// 添加需要固定显示的行数dataGridView1.Rows.Add("早班";dataGridView1.Rows.Add("中班");dataGridView1.Rows.Add("晚班");// 构造数据DataTable dt = new DataTable();dt.Columns.Add("ID");dt.Columns.Add("Name");DataRow dr = dt.NewRow();dr["ID"] = "1";dr["Name"] = "张三";dt.Rows.Add(dr);dr = dt.NewRow();dr["ID"] = "2";dr["Name"] = "李四";dt.Rows.Add(dr);dr = dt.NewRow();dr["ID"] = "3";dr["Name"] = "王五";dt.Rows.Add(dr);dr = dt.NewRow();dr["ID"] = "4";dr["Name"] = "王六";dt.Rows.Add(dr);// 绑定数据Column2.DataSource = dt;Column2.DisplayMember = "Name"; // 显示值Column2.ValueMember = "ID"; // 实际值// 赋值for (int i = 0; i < 3; i++){dataGridView1.Rows[i].Cells["Column2"].Value = dt.Rows[i]["ID"].ToString();}}
需要注意的地方:
dataGridView1.Rows[i].Cells[“Column2”].Value = dt.Rows[i][“ID”].ToString();
这个Value赋值的时候,要注意数据类型,因为有的时候这个ID是Int类型的,这个Value就不能赋值String,否则会导致显示错误!!