【发布时间】:2022-01-07 09:47:47
【问题描述】:
我一直在尝试使用 DataSource 将网格视图绑定到数据表,但在 .DataBind() 方法上出现此错误。我不明白为什么会出现此错误,因为当我调试并查看我的 dt 时,它包含 11 行。 *
dt = itemCollection.GetDataTable();
dt = CreateDT(dt);
ViewState["dt"] = null;
ViewState["dt"] = dt;
GV.DataSource = dt;
GV.DataBind();//Error occurs here
CreateDT 方法
protected DataTable CreateDT(DataTable dt2)
{
try
{
DataTable dt = new DataTable();
dt.Columns.Add("Activity", typeof(string));
dt.Columns.Add("OffsiteOnsite", typeof(DropDownList));
dt.Columns.Add("Tobefilledby", typeof(DropDownList));
dt.Columns.Add("Level1", typeof(string));
dt.Columns.Add("Level2", typeof(string));
dt.Columns.Add("Level3", typeof(string));
dt.Columns.Add("Level4", typeof(string));
dt.Columns.Add("Level5", typeof(string));
dt.Columns.Add("Level6", typeof(string));
dt.Columns.Add("Level7", typeof(string));
dt.Columns.Add("Level8", typeof(string));
dt.Columns.Add("Total", typeof(string));
dt.Columns.Add("LastUpdatedBy", typeof(string));
dt.Columns.Add("Comments", typeof(string));
for (int i = 0; i < dt2.Rows.Count; i++)
{
DataRow dr = dt.NewRow();
dr["Activity"] = dt2.Rows[i]["Activities"].ToString();
// dr["Tobefilledby"] = dt2.Rows[i]["To_x0020_be_x0020_filled_x0020_b"].ToString();
// dr["OffsiteOnsite"] = dt2.Rows[i]["Location_x0020_Type"].ToString();
dr["Level1"] = dt2.Rows[i]["Level1ManDays"].ToString();
dr["Level2"] = dt2.Rows[i]["Level2ManDays"].ToString();
dr["Level3"] = dt2.Rows[i]["Level3ManDays"].ToString();
dr["Level4"] = dt2.Rows[i]["Level4ManDays"].ToString();
dr["Level5"] = dt2.Rows[i]["Level5ManDays"].ToString();
dr["Level6"] = dt2.Rows[i]["Level6ManDays"].ToString();
dr["Level7"] = dt2.Rows[i]["Leve7lManDays"].ToString();
dr["Level8"] = dt2.Rows[i]["Level8ManDays"].ToString();
dr["Total"] = dt2.Rows[i]["Total"].ToString();
dr["LastUpdatedBy"] = dt2.Rows[i]["Last_x0020_updated_x0020_by"].ToString();
dr["Comments"] = dt2.Rows[i]["Comments"].ToString();
dt.Rows.Add(dr);
}
return dt;
}
catch
{
throw;
}
}
如果您认为我描述得不够充分,请问我。
【问题讨论】: