0

質問はすでにここに投稿されていますが、実際の解決策は得られませんでした。

ListViewをSqlDataSourceにバインドしましたが、返された行のいくつかのプロパティに応じて、LayoutTemplateで作成されたビューに存在するコントロールにテキストを書き込みたいと思います。

明らかに、ItemDataBoundイベントを使用してアイテムをフィードしていますが、これは重要ではありません。

自発的な解決策は、ListView.DataBoundイベントをバインドし、生のデータソース(DataTable?)にアクセスして、必要な計算を行うことでした。

Itemsプロパティを調べたところ、空ではありませんでしたが、関連するDataItemプロパティがnullでした。

何か提案はありますか?

私が得ることができる唯一の回避策は、ItemDataBoundイベントで計算を実行し、結果をいくつかのプライベートフィールドに蓄積することです。しかし、見るのは本当に醜く、必要な値のいくつかを取得するのが難しくなります。

どうもありがとう。

4

1 に答える 1

0

ItemDataBound では、DataSource プロパティを介して Listview のデータ ソースにアクセスできる必要があります (DataTable にキャストする必要がある場合があります)。

protected void Listview1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    DataTable sourceData;

    sourceData = (DataTable)Listview1.DataSource;

    // sourceData is a DataTable, you can run .Compute or whatever you need
}
于 2010-09-22T13:36:13.797 に答える