モデルに 2 つのテーブルがあり、1 つのテーブルには、1 対多の関係で他のテーブルに関連するエントリが含まれています。次に例を示します。
Table User
ID
Name
Table Comments
ID
UserID
Title
Text
ユーザー名を含むテキスト列と、ユーザーが作成したすべてのコメントを表示するコンボボックスを含むもう 1 つの列の 2 つの列を持つ WPF ウィンドウにデータグリッドを表示したいと考えています。
データグリッドの定義は次のようになります。
<DataGrid AutoGenerateColumns="False" [layout options...] Name="dataGrid1" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
<DataGridComboBoxColumn Header="Comments"
SelectedValueBinding="{Binding Path=UserID}"
SelectedValuePath="ID"
DisplayMemberPath="Title"
ItemsSource="{Binding Path=Comments}"
/>
</DataGrid.Columns>
</DataGrid>
コードでは、次のように DataContext を割り当てます。
dataGrid1.DataContext = entities.Users;
エンティティ User には、ユーザーが作成したすべてのコメントにつながる Comments という名前のプロパティがあります。クエリはデータを返し、ユーザー名は表示されますが、コンボボックスは入力されていません。
アプローチが完全に間違っているか、ここで非常に単純な点が欠けているだけかもしれません。これを行うためのより良い方法を学ぶために開かれています。
ありがとう