奇怪的dataGridView取单元格值的问题
先贴上代码private void button11_Click(object sender, EventArgs e)
{
string selectedserialnumber = "";
int gg = dataGridView1.Rows.GetRowCount(DataGridViewElementStates.None);
for (int i = 0; i < gg; i++)
{
if (dataGridView1.Rows.Cells.Value.ToString() == "True")
{
selectedserialnumber = selectedserialnumber + "," + i.ToString();
}
}
MessageBox.Show("选择的行是" + selectedserialnumber);
}dataGridView的首列是checkBox,在用For取值时提示错误如图:
点击按钮要求返回checkBox选择为True的行号。
如果不用for循环,则不会出错。
这个问题不知道错在哪里?请大家帮忙看看,谢谢!
for (int i = 0; i < gg; i++)
{
if (dataGridView1.Rows.Cells.Value != null && dataGridView1.Rows.Cells.Value.ToString() == "True")
{
selectedserialnumber = selectedserialnumber + "," + i.ToString();
}
} 问题解决了,原来CheckBox列值有Null值;
难道这列值不选择的时候为Null,而不是False,我的dataGridView1是连接了数据库的,而数据库里此列设置了默认值为True,不会存在Null,这里就有点不明白了。
谢谢楼上。 通常是后面没有初始化的行; 或许 for (int i = 0; i < gg-1; i++) 就可以了,
页:
[1]