日期:2014-05-18  浏览次数:21037 次

DataGridView中有一列是combox,如何让combox默认显示DataGridView绑定数据库的数据
DataGridView中有一列是combox,如何让combox默认显示DataGridView绑定数据库的数据?

DataGridView绑定数据库中的一张表,其中有一列显示外观为combox,如何让combox默认显示的数据为该绑定的表中的数据

------解决方案--------------------
你要在DataGridView用ComBox列时,得先给这一ComBox列绑定下拉框,然后再赋值.如,我datagridview1有一下拉框combox1:
//绑定datagridview
dataGridView1.DataSource = dt;

//绑定下拉框
combox1.DataSource = dt1;
combox1.ValueMember = "0";
combox1.DataPropertyName = "Color";//下拉框对应的绑定列 

------解决方案--------------------
在1楼基础上补冲下: 如果已在DataGridView中添加过ComBox列的话,那不可能实现与数据表数据的绑定,因为在DataGridView中添加的ComBox列说白了只是一个基类。如果要真正与数据库表数据的绑定,那必须用代码手动添加一个ComBox列,这样这个列才会有DataSource、ValueMember、DataPropertyName这些属性,参考代码如下:
DataGridViewComboBoxColumn cob1 = new DataGridViewComboBoxColumn();
cob1.DataSource = dt1;
cob1.ValueMember = "0";
cob1.DataPropertyName = "Color";
this.dataGridView1.Columns.Add(cob1); 

------解决方案--------------------
在gridviwew的绑定事件里进行处理,在ComboBox里搜寻到默认状态,使之处于选中状态