C# dataGridView 怎么把一列的所有值读入到combobox或listbox的集合items中
如图,我想把一列读入到combobox供选择,同时取消相同值的显示用下面的方法会出错privatevoidbutton7_Click(objectsender,Event...
如图,我想把一列读入到combobox供选择,同时取消相同值的显示
用下面的方法会出错
private void button7_Click(object sender, EventArgs e) /////管理成绩模块的修改
{
List<string> isname=new List<string>();
int row = dataGridView4.Rows.Count;
int cell = dataGridView4.Rows[1].Cells.Count;
for (int i=0; i < row;i ++ )
{
/*for (int j = 0; j < cell;j++ )
{*/
//comboBox2.DataSource = dataGridView4.Rows[i].Cells[0].Value .ToString ();
//}
string name = dataGridView4.Rows[i].Cells[0].Value.ToString();
if(isname.Contains(name))
{
continue;
}
else
{
//isname.Add(name);
comboBox2.Items.Add(name);
}
//comboBox2.DataSource=isname;
}
} 展开
用下面的方法会出错
private void button7_Click(object sender, EventArgs e) /////管理成绩模块的修改
{
List<string> isname=new List<string>();
int row = dataGridView4.Rows.Count;
int cell = dataGridView4.Rows[1].Cells.Count;
for (int i=0; i < row;i ++ )
{
/*for (int j = 0; j < cell;j++ )
{*/
//comboBox2.DataSource = dataGridView4.Rows[i].Cells[0].Value .ToString ();
//}
string name = dataGridView4.Rows[i].Cells[0].Value.ToString();
if(isname.Contains(name))
{
continue;
}
else
{
//isname.Add(name);
comboBox2.Items.Add(name);
}
//comboBox2.DataSource=isname;
}
} 展开
3个回答
展开全部
private void button1_Click(object sender, EventArgs e)
{
//如果你设置了this.dataGridView4.AllowUserToAddRows = false;
//则不需要减一,默认是true的
//也就是说最后那行是空的
List<string> isname = new List<string>();
int row = dataGridView4.Rows.Count - 1;//这里减一就好了
for (int i = 0; i < row; i++)
{
string name = dataGridView4.Rows[i].Cells[0].Value.ToString();
if (!isname.Contains(name))
{
isname.Add(name);
comboBox2.Items.Add(name);
}
}
}
展开全部
你在加载dataGridView的时候把XH列的数据添加到comboBox2中。
还有string name = dataGridView4.Rows[i].Cells[0].Value.ToString();最好是按1楼的方法,要不然你就要处理好索引。这是经常出现的问题。
还有string name = dataGridView4.Rows[i].Cells[0].Value.ToString();最好是按1楼的方法,要不然你就要处理好索引。这是经常出现的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主啊:
我提供两点建议:
最好把事件设到DROP DOWN而不是CLICK中去,因为你是下拉选择
用tempComBox.Items.Add(dataGridView1.Rows[i].Cells["XH"].ToString()这个试试
追问
第一点我知道,我是为了好测试,如果直接加载,就会直接报错,别的模块就不好测试。第二点我有试过,达不到想要的要求
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询