我收到此错误:对象引用未设置为实例。
运行此代码后
DataTable dtOriginal = new DataTable();
dtOriginal = (DataTable)gvRapporten.DataSource; //Return Table consisting data
//Create Tempory Table
DataTable dtTemp = new DataTable();
//Creating Header Row
dtTemp.Columns.Add("<b>Melder</b>");
dtTemp.Columns.Add("<b>Onderwerp</b>");
dtTemp.Columns.Add("<b>Oplosser</b>");
dtTemp.Columns.Add("<b>Niveau 2</b>");
DataRow drAddItem;
for (int i = 0; i < dtOriginal.Rows.Count; i++)
{
drAddItem = dtTemp.NewRow();
drAddItem[0] = dtOriginal.Rows[i][0].ToString();//Melder
drAddItem[1] = dtOriginal.Rows[i][1].ToString();//Onderwerp
drAddItem[2] = dtOriginal.Rows[i][2].ToString();//Oplosser
drAddItem[3] = dtOriginal.Rows[i][3].ToString();//Niveau 2
dtTemp.Rows.Add(drAddItem);
}
gridview'gvRapporten'的数据源是在page_load事件中设置的,所以它不能为NULL
答案 0 :(得分:2)
如果此代码不是'page_load'的一部分,那么我假设这是在其他控件事件上,这意味着gvRapporten.DataSource的值将在回发时被清除。由于web是“无状态”,因此不会保留数据表值,因此您应该从数据库中再次获取该值。
答案 1 :(得分:2)
在帖子后面,DataSource
将为空。您必须重新运行查询才能获取原始数据。
答案 2 :(得分:0)
如果您确定gvRapporten,则在调用ToString()函数时,循环中访问的其中一行可能包含NULL引用,从而产生错误