これはHow to display related data from dataset in wpf datagridのクロスポストであり、ここで提案された回答をうまく適用できませんでした。wpfのマスターディテールデータグリッドをリレーショナルデータセットからレンダリングする方法
私の状況は、関係を共有するデータセットで2つのデータセット(請求書と1つの行に1つの請求書と1つのデータセットがあります)があり、さらにそれらのデータテーブルを表示したい2つのデータグリッドにマスターディテールビューとして表示されます。
私はCreateChildViewメソッドを調べましたが、キーポイントがどこかにありません。 childviewを取得するための私の現在のコード:
public DataView ChildView {
get {
return ParentChildRelation.ParentTable.DefaultView[0].CreateChildView("orders")
}
}
問題は、まず、私は明らかに私はいつもparenttableの最初の行のchildviewを得る意味、固定のインデックスを持つ、2倍です。第2に、親ビューで新しい行が選択されたときに、新しい子ビューを取得する際に悲惨に失敗しています(ChildViewは初期化時にのみ呼び出されます)。
私のXAML:
<Grid>
<DataGrid
ItemsSource="{Binding Path=ParentView}"
AutoGenerateColumns="True"
Name="dataGrid1"
/>
<DataGrid
ItemsSource="{Binding Path=ChildView}"
AutoGenerateColumns="True"
Name="dataGrid2"
/>
</Grid>
私は、このXAMLソリューションを作成し、childviewを更新するEventHandlerを書き込まないようにしたいと思います。私はDataContextを使いこなそうとしましたが、データセットとリレーションでこの構造をどのように活用するかについてのドキュメントは本当にスリムです(私が正しいパスを辿るかどうか疑問に思います)。
詳細ビューがどの親が選択され、どの項目が表示されるべきかを知るためのセマンティクスがありません。
これは魅力的でした!私はテーブル関係のための多くのサポートコードをゴミ箱にさせる素晴らしいソリューション! – kbao