我有一个数据网格,ItemsSource
绑定到LINQ to Entity查询的结果,并且在一列中是EntityCollection
个对象。
private void DataGridRecipientsLoad()
{
dataGridRecipients.ItemsSource = from rec in _recipientService.GetAllRecipients()
select rec;
dataGridRecipients.Columns[7].Visibility = System.Windows.Visibility.Collapsed;
dataGridRecipients.Columns[8].Visibility = System.Windows.Visibility.Collapsed;
}
如何在C#中创建一个模板,该模板只从Entity Collection
中的项目中取出字符串属性并显示它们?现在细胞是空的。
EntityCollection
包含名为MailingList
的实体,我想显示每个实体的myMailingList.Name
。
答案 0 :(得分:0)
例如,您拥有一组客户,其中包含下一个属性:FirstName
和LastName
:
internal class Customer
{
public string FirstName {get; set;}
public string LastName {get;set;}
}
然后你可以为它简单的网格视图:
<DataGrid x:Name="CustomersGridView" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="First Name" Binding="{Binding Path=FirstName}" />
<DataGridTextColumn Header="Last Name" Binding="{Binding Path=LastName}" />
</DataGrid.Columns>
</DataGrid>
您还需要指定ItemSource
(就像您在代码中所做的那样)。
您还可以使用DataGridTemplateColumn
编写更灵活的模板以满足您的需求。
我建议你阅读更多关于xaml模板的内容。 (此link / another link有很好的样本)。
p.s.当我看到这些问题时,我总是建议阅读MVVM。