请查看下面的代码,告诉我哪里出错了。列不允许有空值
case "particulars.aspx":
dt = JobCardManager.GetParticularsByJobId(id);
hidJobId.Value = id.ToString();
if (dt != null && dt.Rows.Count > 0)
{
gvParticulars.DataSource = dt;
gvParticulars.DataBind();
}
else
{
**dt.Rows.Add(dt.NewRow());**
gvParticulars.DataSource = dt;
gvParticulars.DataBind();
int TotalColumns = gvParticulars.Rows[0].Cells.Count;
gvParticulars.Rows[0].Cells.Clear();
gvParticulars.Rows[0].Cells.Add(new TableCell());
gvParticulars.Rows[0].Cells[0].ColumnSpan = TotalColumns;
gvParticulars.Rows[0].Cells[0].Text = "No Record Found";
}
ddlJobs.Enabled = false;
gvParticulars.ShowFooter = true;
break;
我想实现的是,在情况下,当dt
没有任何行,我需要在页脚中显示一个新行,控制已经在页脚添加。我的插入更新和添加新进程都是从网格本身执行的。
因此,如果我的datatable为空,然后在星号行,我收到错误,“列不允许为空”。数据库中所有列都有“允许空”复选框被选中。请帮忙。
[更新]
我不是retriving查询主键。只有表格的可编辑部分。
您是否在允许所有空值后重新输入已输入的数据集? – 2011-03-14 10:18:15
其实我的方法是返回数据表...所以我需要总和的方式把检查放在返回表 – 2011-03-14 10:21:04