2012-11-11 51 views
0

我有ItemsSource被绑定到LINQ到实体查询的结果,并且在一个列中的数据网格是EntityCollection对象。如何在C#中为DataGrid中的单元格设置模板?

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

例如,你有客户的收集和他们有下一个属性:FirstNameLastName

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.Also当我看到这样的问题时,我总是建议阅读有关MVVM

相关问题