对象数组属性索引超出
business[] bussiness = proxy.GetBussiness("",handcode,"",-1,-1,"","");
int k=bussiness.Length;
for (int i = 0; i < k; i++)
{
business bss =bussiness[i];
if (bussiness != null)
{
this.dataGridView1.Rows[i].Cells[0].Value = bss.DETAILCODE;
this.dataGridView1.Rows[i].Cells[1].Value = bss.HANDCODE;
this.dataGridView1.Rows[i].Cells[2].Value = bss.GOOCODE;
this.dataGridView1.Rows[i].Cells[3].Value = bss.GOONUM;
this.dataGridView1.Rows[i].Cells[4].Value = bss.GOOPRICE;
this.dataGridView1.Rows[i].Cells[5].Value = bss.STORECODEIN;
this.dataGridView1.Rows[i].Cells[6].Value = bss.STORECODEOUT;
}
i++;
}
只能返回一条数据 第二条返回绑定时说超出索引
business 是个对象
------解决方案--------------------
仔细地分析了一下,重复的i++是有问题,但这并不会引起楼主的问题,难道忘掉i < k这个条件了吗?最多也就是跳几行,但决对不会报错。
真正的问题应该在这里:
this.dataGridView1.Rows[i].Cells[0].Value = bss.DETAILCODE;
楼主,你能肯定在绑定数据的时候有足够的行吗?
事实上,楼主你的做法完全不合常理,数据绑定控件的操作不需要这样一个格子一个格子赋值,直接使用DataGridView.DataSource属性就可以了,但前提是你要在设计器或代码里为每一列设置好要绑定的属性名称。
business[] bussiness = proxy.GetBussiness("",handcode,"",-1,-1,"","");
this.dataGridView1.DataSource = business;
两行搞定!