为什么我把dataGridView中的cell与对应的表中的值邦定后报参数超出范围异常?
代码如下:
for (int i = 0; i < userDs.Tables[0].Rows.Count; i++)
{
this.dataGridView1.Rows[i].Cells[0].Value = userDs.Tables[0].Rows[i][POS.Common.POSParameters.USER_ID].ToString();
this.dataGridView1.Rows[i].Cells[1].Value = userDs.Tables[0].Rows[i][POS.Common.POSParameters.USER_NAME].ToString();
}
其中=右边的项是有值的,可以取出并显示。
由于我的界面是已经定好的
我用 this.dataGridView1.DataSource = userDs.Tables[0];可以显示但就会在原有的列后面自动加表中的列,这是什么原因呢?要怎么解决呀?
------解决方案--------------------dataGridView1.AutoGenerateColumns = false;
------解决方案--------------------this.dataGridView1.AutoGenerateColumns = false;
this.dataGridView1.DataSource = userDs.Tables[0].DefaultView;
------解决方案-----------------------------------------------------------
this.dataGridView1.Rows[i].Cells[0].Value
this.dataGridView1.Rows[i].Cells[1].Value
这2个东西,你确定它们存在吗?
-------------------------------------------
Rows[i]里的i从0开始算,i的最大值应该是userDs.Tables[0].Rows.Count-1
当i=userDs.Tables[0].Rows.Count时索引超出范围,就会报错了