datagridview中添加行的问题

ahwanbing 2009-07-04 06:20:01

DataTable dt2 = ht["多收费记录"] as DataTable;
for (int i = 0; i < dt2.Rows.Count; i++)
{
DataGridViewRow row = new DataGridViewRow();
this.DataGridView1.Rows.Add(row);
row.Cells["yhdm"].Value = dt2.Rows[i]["bank_id"].ToString();
row.Cells["lsbh"].Value = dt2.Rows[i]["id"].ToString();
row.Cells["rq"].Value = dt2.Rows[i]["tpdate"].ToString();
row.Cells["ss"].Value = dt2.Rows[i]["realpay"].ToString();
row.Cells["khh"].Value = dt2.Rows[i]["custid"].ToString();
row.Cells["khdbh"].Value = dt2.Rows[i]["client"].ToString();
row.Cells["qqm"].Value = dt2.Rows[i]["reqcode"].ToString();
}


我的代码是这样的,其中dt2中有200多行数据,在for循环加载时候,i=0的时候,可以通过,当i=1的时候,就报错了
提示指定的参数已超出有效值的范围。参数名: rowIndex
row.Cells["yhdm"].Value 引发了System.ArgumentOutOfRangeException异常
...全文
222 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
upUP_loving1984 2009-07-05
  • 打赏
  • 举报
回复
mark...
十八道胡同 2009-07-05
  • 打赏
  • 举报
回复

DataGridViewRow row = new DataGridViewRow();

row.Cells["yhdm"].Value = dt2.Rows[i]["bank_id"].ToString();
row.Cells["lsbh"].Value = dt2.Rows[i]["id"].ToString();
row.Cells["rq"].Value = dt2.Rows[i]["tpdate"].ToString();
row.Cells["ss"].Value = dt2.Rows[i]["realpay"].ToString();
row.Cells["khh"].Value = dt2.Rows[i]["custid"].ToString();
row.Cells["khdbh"].Value = dt2.Rows[i]["client"].ToString();
row.Cells["qqm"].Value = dt2.Rows[i]["reqcode"].ToString();
this.DataGridView1.Rows.Add(row);


换个顺序试试
Jeff20040819 2009-07-05
  • 打赏
  • 举报
回复
UP
Evan_Chan 2009-07-05
  • 打赏
  • 举报
回复
调试下 看dt2里有几条记录
thriveliang 2009-07-05
  • 打赏
  • 举报
回复
好象是你的dt2超出范围了,你试一下这个哦.

DataTable dt2 = ht["多收费记录"] as DataTable;
for (int i = 1; i < dt2.Rows.Count; i++)
{
DataGridViewRow row = new DataGridViewRow();
this.DataGridView1.Rows.Add(row);
row.Cells["yhdm"].Value = dt2.Rows[i-1]["bank_id"].ToString();
row.Cells["lsbh"].Value = dt2.Rows[i-1]["id"].ToString();
row.Cells["rq"].Value = dt2.Rows[i-1]["tpdate"].ToString();
row.Cells["ss"].Value = dt2.Rows[i-1]["realpay"].ToString();
row.Cells["khh"].Value = dt2.Rows[i-1]["custid"].ToString();
row.Cells["khdbh"].Value = dt2.Rows[i-1]["client"].ToString();
row.Cells["qqm"].Value = dt2.Rows[i-1]["reqcode"].ToString();
}

ahwanbing 2009-07-04
  • 打赏
  • 举报
回复
怎么没人呢
yoyyoyyo 2009-07-04
  • 打赏
  • 举报
回复
换一种添加方式.
this.dgv.Rows.Add(); //添加空行
//设置新添空行值
this.dgv.Rows[i].Cells[1].Value="";

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧