异常详细信息: System.ArgumentException: 该行已经属于此表。

Code
DataTable dt = new DataTable();
DataRow dr
= dt.NewRow();
int i;
dt.Columns.Add(
new DataColumn("int", typeof(System.Int32)));
dt.Columns.Add(
new DataColumn("string", typeof(System.String)));
dt.Columns.Add(
new DataColumn("datatime", typeof(System.DateTime)));
dt.Columns.Add(
new DataColumn("boolean", typeof(System.Boolean)));

for (i = 0; i < 9; i++)
{

dr[
0] = i;
dr[
1] = "item" + i.ToString();
dr[
2] = System.DateTime.Now.ToShortDateString();
if (i / 2 == 0)
{
dr[
3] = true;
}
else
{
dr[
3] = false;
}

dt.Rows.Add(dr);

}
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}

修改后:

 

Code
DataTable dt = new DataTable();

int i;
dt.Columns.Add(
new DataColumn("int", typeof(System.Int32)));
dt.Columns.Add(
new DataColumn("string", typeof(System.String)));
dt.Columns.Add(
new DataColumn("datatime", typeof(System.DateTime)));
dt.Columns.Add(
new DataColumn("boolean", typeof(System.Boolean)));

for (i = 0; i < 9; i++)
{
DataRow dr
= dt.NewRow();
dr[
0] = i;
dr[
1] = "item" + i.ToString();
dr[
2] = System.DateTime.Now.ToShortDateString();
if (i / 2 == 0)
{
dr[
3] = true;
}
else
{
dr[
3] = false;
}

dt.Rows.Add(dr);

}
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}

实例化行应该放在循环当中。另外,在实例化一个行时候不能用new DataRow();而用dt.NewRow();

转载于:https://www.cnblogs.com/shineqiujuan/archive/2008/09/22/1295978.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值