2010-11-30 2 views
2

Comment puis-je arrêter un formulaire WPF DataGrid afficher automatiquement un élément lié à une grille de données.ViewModel n'affiche pas l'élément dans datagrid

J'ai ce modèle de vue où je ne veux pas qu'il affiche l'élément "Historique". J'ai essayé avec [Display (AutoGenerateField = false)] mais la dose ne fonctionne pas.

Comme je l'ai ici, il affichera Lead, Calls, LastCall, puis tous les éléments à nouveau.

<DataGrid ItemsSource="{Binding Leads}" Margin="0" FontSize="20"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Lead" Binding="{Binding Lead}" Width="150" /> 
     <DataGridTextColumn Header="Calls" Binding="{Binding Calls}" Width="150" /> 
     <DataGridTextColumn Header="LastCall" Binding="{Binding LastCall}" Width="*" /> 
    </DataGrid.Columns> 

Voir modèle

public class LeadViewModel : ViewModel 
{ 
    [Display(AutoGenerateField = false)] 
    public int Lead { get; set; } 
    [Display(AutoGenerateField = false)] 
    public int Calls 
    { 
     get 
     { 
      return History.Count(); 
     } 
    } 
    [Display(AutoGenerateField = false)] 
    public int EndCalls 
    { 
     get 
     { 
      return (from h in History 
        where h.DailTime.End != null 
        select h).Count(); 
     } 
    } 
    [Display(AutoGenerateField = false)] 
    public int Jobs 
    { 
     get 
     { 
      return (from h in History 
        where h.DailTime.End != null 
        select h.ProjectJob).Distinct().Count(); 
     } 
    } 
    [Display(AutoGenerateField = false)] 
    public DateTime? LastCall 
    { 
     get 
     { 
      return (from h in History 
        orderby h.DailTime.Start descending 
        select h.DailTime.Start).FirstOrDefault(); 
     } 
    } 
    [Display(AutoGenerateField = false)] 
    public IQueryable<DailHistory> History { get; set; } 
} 

Répondre

0

Bij définissant la propriété AutoGenerateColumns false:

<DataGrid AutoGenerateColumns="False"> 

</DataGrid> 

à true par défaut, et donc ajouter toutes les colonnes du ItemsSource au DataGrid.

Questions connexes