我正在构建如下所示的数据表,当我尝试逐行地为数据库分配值时,我会收到这样的错误
位置0没有行
这是我的代码:
public DataTable BuildCertInfo()
{
DataTable dtCertInfo = new DataTable(TABLE);
DataColumnCollection columns;
columns = dtCertInfo.Columns;
AddColumn(dtCertInfo, ROW_NO, "System.Int32", false, 0);
AddColumn(dtCertInfo, LIC_ID, "System.Int32", false, 0);
AddColumn(dtCertInfo, SYS_ID, "System.Int32", false, 0);
AddColumnString(dtCertInfo, SYS_PART_ID);
...............
...............
return dtCertInfo;
}
我正在调用上面这样的方法
DataTable dt = objCertificate.BuildCertInfo();
然后我循环遍历gridview并将值分配给数据表,如下所示..
for (int i = 0; i < gvPRCertInfo.Rows.Count; i++)
{
dt.Rows[i][Certificate.SYS_PART_ID] = systemPartID; // here I am getting error
................
................
}
我不确定我在哪里做错了,请指点我正确的方向,非常感谢我
非常感谢提前......
答案 0 :(得分:1)
您没有创建任何行,这就是您收到错误的原因。尝试这样的事情:
for (int i = 0; i < gvPRCertInfo.Rows.Count; i++)
{
dt.Rows.Add(dt.NewRow());
dt.Rows[i][Certificate.SYS_PART_ID] = systemPartID;
....
}