7

(ツールキットから) DataGrid があり、DataGrid.RowDetailsTemplate に別の DataGrid をネストしたいと考えています。トリックは、メイン グリッドの 1 つのテーブルからデータを戻し、行選択に基づいて別のテーブルから追加の詳細を取得し、詳細テンプレートの DataGrid に表示することです。

これは 2 つの個別の DataGrid で簡単に実行できますが、ネストされたバージョンで機能させるのに問題があります。

これは可能ですか?もしそうなら、誰かが私を正しい方向に向けることができますか. データの入力に LinqToSql クラスを使用していることに注意してください。

ご検討いただきありがとうございます。-ジョエル

4

1 に答える 1

5

LinqToSQL を使用している場合は、関連付けを使用して簡単にこれを行うことができます。私の実践では、2 つのテーブルを作成しました。

ガイテーブル

  • ファーストネーム
  • 苗字
  • 一意のID

ガイアクションテーブル

  • 一意のID
  • 男ID
  • アクションの説明

「GuyActions」という GuyTable.UniqueID から GuyActionsTable.GuyID への 1 対多の関係を作成しました。

次に、このように DataGrid をバインドします。私はこれを手作業で行っているので、エラーを許してください:

<w:DataGrid ItemsSource={Binding Source={StaticResource YourDataSource}}>
<w:DataGrid.RowDetailsTemplate>
    <DataTemplate>
        <w:DataGrid ItemsSource={Binding GuyActions}>
            <w:DataGrid.Columns>
                <w:DataGridTextColumn Header="Action" DisplayMemberBinding="{Binding Action_Description}" />
            </w:DataGrid.Columns>
        </w:DataGrid>
    </DataTemplate>
</w:DataGrid.RowDetailsTemplate>
<w:DataGrid.Columns>
    <w:DataGridTextColumn Header="First Name" DisplayMemberBinding="{Binding First_Name}" />
    <w:DataGridTextColumn Header="Last Name" DisplayMemberBinding="{Binding Last_Name}" />
</w:DataGrid.Columns>

于 2009-10-29T19:03:07.430 に答える