我正在使用 aDetailsView
来显示 a 中单行的详细信息DataTable
。
我在设计时不知道列名,所以我AutoGenerateRows = true
在标记中。
DataView dv = myDataTable.AsDataView();
dv.RowFilter = string.Format("ResourceID = {0}", resourceId);
dvScoresBreakdown.DataSource = dv;
dvScoresBreakdown.DataBind();
其中大约有 4 列DataView
我不想DetailsView
显示 - 主要是 ID 列。
我了解我应该访问 的Fields
属性DataView
并将相关字段设置为不可见:
dvScoresBreakdown.Fields[0].Visible = false;
dvScoresBreakdown.Fields[1].Visible = false;
但是,.Fields.Count
始终为零。所以我得到一个索引越界异常。
当我说“始终为零”时,我的意思是.DataBind()
在OnDataBinding
,OnDataBound
和OnPreRender
事件之后也是零。
但是,DetailsView 确实在页面上呈现并显示所有内容 - 原始中的所有列DataView
- 所以数据视图是绑定的!
我究竟做错了什么?