1

フルグリッドをレンダリングした後、最初は「単純な」オブジェクトがデータソースとして入力され、単一のアイテムが選択されたときに(RowDetailsVisibilityChangedイベントを見て)、選択した行のデータコンテキストを変更する必要があります。次に、DataContextを複雑なオブジェクトに変更します。折りたたまれた行よりも詳細な情報。

GridViewRowDetailsEventArgs.DetailsElement.DataContextを使用すると、選択時に行の下に展開されるDetails要素のトリックが実行されるようですが、GridViewRowDetailsEventArgs.DetailsElement.DataContextまたはGridViewRowDetailsEventArgs.Row.DataCOntextを変更しても、ヘッダー(列)は同じままで、値は更新されません。

(折りたたまれた行の列がNameにバインドされ、Nameが "John"であると想像してください。展開すると、Row.DataContextはプロパティNameが "John Dough"のオブジェクトに変更されますが、列にはまだ "John"が表示されます)。

4

1 に答える 1

1

私は解決策を見つけました。それはかなり単純なようです。

そのため、イベント ハンドラーを RadGridView.RowDetailsVisibilityChanged に接続し、イベント ハンドラー自体で、提供された行の Item プロパティを変更します。

private void OnRowDetailsVisibilityChanged(object sender, GridViewRowDetailsEventArgs e)
{
       e.Row.Item = (my New Data);
}

現在の唯一の問題は、行がクリックできなくなったことです (選択時に詳細が展開されなくなりました)。

于 2010-07-23T13:44:35.783 に答える