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表示されるため、データビューはバインドされます。
私は何を間違っていますか?