我使用DetailsView
來顯示DataTable
中單個行的詳細信息。如何動態隱藏DetailsView中的字段(字段數始終爲0)
我做不是在設計的時候知道列名,所以我在標記中有AutoGenerateRows = true
。
DataView dv = myDataTable.AsDataView();
dv.RowFilter = string.Format("ResourceID = {0}", resourceId);
dvScoresBreakdown.DataSource = dv;
dvScoresBreakdown.DataBind();
大約有4列在DataView
,我不希望DetailsView
顯示 - 主要是ID列。
我明白,我應該訪問DataView
的Fields
屬性,並設置相關領域的隱形:
dvScoresBreakdown.Fields[0].Visible = false;
dvScoresBreakdown.Fields[1].Visible = false;
然而,.Fields.Count
始終爲零。所以我得到一個索引越界異常。
當我說「始終爲零」時,我的意思是在.DataBind()
之後,以及在OnDataBinding
,OnDataBound
和OnPreRender
事件之後爲零。
但是,DetailsView在頁面上呈現並顯示所有內容 - 原始DataView
中的所有列 - 所以dataview是綁定的!
我在做什麼錯?
就像我說的,它是一個'DetailsView'控件而不是'GridView'。 「DetailsView」上沒有'.Columns'這樣的屬性。話雖如此,你確實讓我走上了看行集合的正確軌道 - 非常感謝! – bgs264