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

请教各位大哥 Datagridview中Combobox如何添加项
情况是这样的,我在Datagridview控件中有一列使用了DataGridViewComboBoxColumn做数量的选择,但是我需要给每一行的DataGridViewComboBoxColumn加入不一样的值,特来请教一下各位大哥代码应该怎么样写?

下面是我向Datagridview中添加数据的代码,没有使用绑定
C# code

while (sdr.Read())
            {
 string[] item = new string[] { sdr[0].ToString(), sdr[2].ToString(), sdr[4].ToString(), sdr[10].ToString(), sdr[11].ToString(), sdr[13].ToString() };

                dataGridView1.Rows.Add(item);
}



------解决方案--------------------
DataGridViewTextBoxColumn textBoxCol=new DataGridViewTextBoxColumn("options");
this.datagridview1.Columns.Add(textBoxCol);
string[] options=null;
DataGridViewComboBoxCell comboBoxCell=null;
for(int i=0;i<this.datagridview1.Rows.Count;i++)
{
comboBoxCell=new DataGridViewComboBoxCell();
options=new string[]{"选项一","选项二"};
comboBoxCell.Items.AddRange(options);
this.datagridview1["options",i]=comboBoxCell;
}
我是从新给DataGridViewCell赋值,不过是DataGridViewTextBoxColumn类型的列。不知道DataGridViewComboBoxColumn类型的列是否可行,楼主可以试一下。


------解决方案--------------------
int rowInd=datagridview1.Rows.Add(item);
string[] options=new string[]{"选项一","选项二"}
DataGridViewComboBoxCell comboBoxCell=new DataGridViewComboBoxCell();
comboBoxCell.Items.AddRange(options);
this.datagridview1["options",rowInd]=comboBoxCell;