【发布时间】:2010-09-02 15:39:29
【问题描述】:
我已经为此工作了几天,每次我回到这个问题时,我只是不明白为什么它不能正常工作。
我正在尝试将 DataTable 绑定到我动态创建的 GridView 控件。我创建 GridView 控件,将其添加到表中,然后将 DataSource 属性分配给我的 DataTable。
这是代码:
Table tbl = new Table();
DataTable dattbl = Core.Transreports(Request.QueryString["itemaddress"], Request.QueryString["docnum"], Request.QueryString["docid"]);
GridView dg = new GridView() { ID = "dg", AllowPaging = true, PageSize = 10 };
TableRow tr = new TableRow();
TableCell tc = new TableCell();
tc.Controls.Add(dg);
tc.ColumnSpan = 10;
tr.Cells.Add(tc);
tbl.Rows.Add(tr);
if (dattbl.Rows.Count > 0)
{
dg.DataSource = dattbl;
dg.DataBind();
}
所以当我得到最后一行时,我执行 DataBind (dg.DataBind()) 方法的地方就是我得到空引用异常的地方。
我不太确定为什么会遇到此错误,并且还没有找到解决方案。我已经检查以确保 DataTable 中也没有空值,并且没有。所以我很茫然。
帮我堆栈溢出,你是我唯一的希望。
【问题讨论】:
-
您可以发布异常详细信息吗? (消息、堆栈跟踪等)
-
您是否已将表格添加到页面中?尝试不允许分页,如果您还没有添加到页面,这可能会解决它。
-
@Brett,成功了!谢谢。现在我需要弄清楚要分页...
-
我在我创建的答案中添加了更多解释,如果您遇到任何问题,请告诉我!
标签: c# asp.net data-binding gridview datatable