我目前正在网站上工作,我遇到了一个小问题。在调试我的代码时,当我尝试访问用户的配置文件时会抛出异常('DataTable必须在使用DataView Exception之前设置。')。我已在本网站和其他论坛上查看过,但我不确定如何继续这种情况。
以下是有问题的代码:
private void FillGrid()
{
DataSet ds = new DataSet();
//get data from session
ds = (DataSet)SessionNavigator.GetDataFromCurrentPage(PageParams.Customer.DataCards);
if (ds != null)
{
DataView dv = new DataView(ds.Tables["Cards"], "", "", DataViewRowState.CurrentRows);
gridCtrl.RowsCount = dv.Count;
gridCtrl.BindGrid(dv);
}
}
任何建议/解决方案都将不胜感激!
答案 0 :(得分:0)
根据我的研究,你应该能够扭转这两行代码:
gridCtrl.BindGrid(dv);
gridCtrl.RowsCount = dv.Count;
在可以利用DataView
之前绑定网格。
但正如我在评论中所述,这一行:
DataView dv = new DataView(ds.Tables["Cards"], "", "",
DataViewRowState.CurrentRows);
应该只能是:
DataView dv = ds.Tables["Cards"].DefaultView;