DataSet ds = dpdal.getAllDepartment(); if (ds.Tables[0].Rows.Count != 0)
{
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.Columns[0].Visible = false;
textBox3.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[3].Value.ToString();
}
else
{
return;
} 报的是 未将对象引用设置到对象的实例。 然后我发现改了下dataGridView1.Columns[0].Visible = false;
里面的数字!就不会报错了,例如改成dataGridView1.Columns[3].Visible = false;
就不会报错了,为什么会这样?还有的解决方法是 先拿值出来,再设置这句
dataGridView1.Columns[0].Visible = false;也不错报错 求原因
.ToString()就出现错误了
dataGridView1.Columns[0].Visible = false;
这个我是说cell[3]的时候不会报错。就是列的数量肯定是大于10的。。
你的理解是cell[3]报错
我是指
dataGridView1.Columns[0].Visible = false; 会报错。
dataGridView1.Columns[3].Visible = false; 不会报错求解释求解答
改为
DataSet ds = dpdal.getAllDepartment(); if (ds.Tables[0].Rows.Count != 0)
{
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.Columns[3].Visible = false; textBox3.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[3].Value.ToString();
}
else
{
return;
}仅仅是改一, 就不报错?
{
dataGridView1.DataSource = ds.Tables[0];
dataGridView1.Columns[1].Visible = false;
textBox3.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[3].Value.ToString();
}
else
{
return;
}
是的 改成这样就不报错了 ,想让他不报错也实现隐藏 还可以这样,而我现在就是这样DataSet ds = dpdal.getAllDepartment(); if (ds.Tables[0].Rows.Count != 0)
{
dataGridView1.DataSource = ds.Tables[0];
textBox3.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[3].Value.ToString();
dataGridView1.Columns[0].Visible = false; }
else
{
return;
}
这样也不报错,想知道原因吖