C#中,想实现当窗体载入后Combox控件下拉框中就有datagridview的第11列数据。怎么写这个代码呢?
我是这样实现的,但是有问题,请高手指点,感激不尽~~privatevoidFrmBaseValuesDo_Load(objectsender,EventArgse){//...
我是这样实现的,但是有问题,请高手指点 ,感激不尽~~
private void FrmBaseValuesDo_Load(object sender, EventArgs e)
{
//窗体载入
this.comboBox1.DataSource = dataGridView1.Columns[11];
this.comboBox1.DisplayMember = "系数编号";//系数编号为取值的列名
} 展开
private void FrmBaseValuesDo_Load(object sender, EventArgs e)
{
//窗体载入
this.comboBox1.DataSource = dataGridView1.Columns[11];
this.comboBox1.DisplayMember = "系数编号";//系数编号为取值的列名
} 展开
2个回答
展开全部
我认为应该用循环,首先DataSource属性是个数据集,而不能用数组来赋值,如何用循环,我的理解是这样的。
设置一个泛型集合List<string> ls=new List<string>()(假如你的这一列是string类型的数据)。
通过循环
for(int i=0;i<this.dataGridView1.Rows.Count();i++)
{
ls.Add(this.dataGridView1.Columns[11].Cells[i].Value.ToString());
}
this.comboBox1.DataSource =ls;
。。。
也可以在循环中用this.comboBox1.Items.Add()的方式进行循环添加。
这个没有去重,你在开发过程中也要注意这一点。
我没有调试上面的程序,所以之前写的代码难免会有错误,你可以自己调试一下,你明白那个意思就可以了。
设置一个泛型集合List<string> ls=new List<string>()(假如你的这一列是string类型的数据)。
通过循环
for(int i=0;i<this.dataGridView1.Rows.Count();i++)
{
ls.Add(this.dataGridView1.Columns[11].Cells[i].Value.ToString());
}
this.comboBox1.DataSource =ls;
。。。
也可以在循环中用this.comboBox1.Items.Add()的方式进行循环添加。
这个没有去重,你在开发过程中也要注意这一点。
我没有调试上面的程序,所以之前写的代码难免会有错误,你可以自己调试一下,你明白那个意思就可以了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询