C# 如何在WPF DataGrid中显示单独表中的特定列?
我有两张桌子,我们叫它们T和V 表T包含数据网格中需要显示的所有数据,表V包含表T中特定列的数据。因此表T包含表V中的外键 我想根据表T中的键显示表V中的文本列 利用C# 如何在WPF DataGrid中显示单独表中的特定列?,c#,wpf,entity-framework-4,wpfdatagrid,C#,Wpf,Entity Framework 4,Wpfdatagrid,我有两张桌子,我们叫它们T和V 表T包含数据网格中需要显示的所有数据,表V包含表T中特定列的数据。因此表T包含表V中的外键 我想根据表T中的键显示表V中的文本列 利用 myDataGrid.ItemSource = List<T> myTableTList myDataGrid.ItemSource=List MyTableList 及 所以dataStatusKey是表V中的外键,但我想显示表V中与dataStatusKey对应的文本字段 如果我用T类型的数据填充Data
myDataGrid.ItemSource = List<T> myTableTList
myDataGrid.ItemSource=List MyTableList
及
所以dataStatusKey是表V中的外键,但我想显示表V中与dataStatusKey对应的文本字段
如果我用T类型的数据填充DataGrid,我该怎么做
我应该创建一个单独的类,用适当的字段填充它,并列出它,然后将我的网格的ItemSource设置为这个新的数据类型列表吗
我应该创建一个单独的类,用适当的字段填充它,并列出它,然后将我的网格的ItemSource设置为这个新的数据类型列表吗
对。您基本上可以这样做:
- 创建一个新类
,每个列都有一个要在DataGrid中显示的属性X
- 使用从视图模型中的
和T
对象获得的数据填充它V
- 将
属性绑定到视图模型的ItemsSource
属性IEnumerable
T
具有导航属性,则可以直接绑定到此属性:
<DataGridTextColumn Header="Text" Binding="{Binding Path=V.Text}"/>
我正在使用新的普通类,该类只包含要在DataGrid中显示的必要字段。当我尝试{Binding Path=MyTableName.FieldName}时,它根据获取的数据显示了相应的字段/文本,这在没有助手类的情况下完美地解决了我的问题。:)谢谢
<DataGridTextColumn Header="Text" Binding="{Binding Path=V.Text}"/>