Nested WPF DataGrids

安稳与你 提交于 2020-02-02 01:51:21

问题


I have a DataGrid (from the toolkit) and I want to nest another DataGrid in the DataGrid.RowDetailsTemplate. The trick is I want to bring back the data from one table in the main grid and then based on row selection go and get additonal detail from a different table and show it in the DataGrid in the detail template.

This is easy enough to do in 2 seperate DataGrids but I am having trouble getting it to work with the nested version.

Is this even possible? If so, could someone point me in the right direction. I should note I am using LinqToSql clases to populate the data.

Thanks for your consideration. -Joel


回答1:


If you are using LinqToSQL you can easily do this using an association. In my practice I have created two tables:

GuyTable

  • First Name
  • Last Name
  • UniqueID

GuyActionsTable

  • UniqueID
  • GuyID
  • Action Description

I created a one-to-many relationship from GuyTable.UniqueID to GuyActionsTable.GuyID called "GuyActions"

I then bind my DataGrid like this. Excuse any errors as I am doing this by hand:

<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>



来源:https://stackoverflow.com/questions/871205/nested-wpf-datagrids

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!