DetailsView
からの単一行の詳細を表示するために を使用していDataTable
ます。
設計時には列名がわからないAutoGenerateRows = true
ので、マークアップに入れています。
DataView dv = myDataTable.AsDataView();
dv.RowFilter = string.Format("ResourceID = {0}", resourceId);
dvScoresBreakdown.DataSource = dv;
dvScoresBreakdown.DataBind();
DataView
には、表示したくない列が約 4 つありDetailsView
ます。主に ID 列です。
Fields
のプロパティにアクセスしDataView
、関連するフィールドを非表示に設定する必要があることを理解しています。
dvScoresBreakdown.Fields[0].Visible = false;
dvScoresBreakdown.Fields[1].Visible = false;
ただし、.Fields.Count
は常にゼロです。そのため、インデックスの範囲外の例外が発生します。
.DataBind()
「常にゼロ」とは、OnDataBinding
、 、OnDataBound
、およびOnPreRender
イベントの直後でゼロであることを意味します。
ただし、DetailsView はページにレンダリングされ、すべて (元のすべての列) がDataView
表示されるため、データビューはバインドされます。
私は何を間違っていますか?