2011-07-30 13 views
2

J'essaye d'ajouter DateTime (7/30/2011) colonnes dynamiquement dans un DataGrid. Je vais télécharger une capture d'écran de ma grille que j'ai faite manuellement. Je veux faire une combobox de gamme. Ainsi, si l'utilisateur choisit 2 semaines, la grille ajoute des colonnes jour par jour.Ajouter dynamiquement DataGrid colonnes DateTime

Screenshot

+0

Astuce: assurez-vous que vous utilisez un navigateur avec un vérificateur d'orthographe. Réglez-le en anglais. –

Répondre

2

Vous pouvez faire quelque chose comme ça

private void AddColumns(GridView gv, string[] dateColumns) 
{ 
    for (int i = 0; i < dateColumns.Length; i++) 
    { 
     gv.Columns.Add(new GridViewColumn 
     { 
      Header = dateColumns[i], 
      DisplayMemberBinding = new Binding(String.Format("[{0}]", i)) 
     }); 
    } 
} 

Cela pourrait être appelé sur le Combobox OnSelectionChanged()

Vous pouvez également utiliser un DataTemplate pour afficher correctement les colonnes:

<DataTemplate DataType="{x:Type DateTime}"> 
     <TextBlock Text="{Binding StringFormat={0:d}}" /> 
</DataTemplate> 

Non juste ajuster y notre StringFormat pour vos besoins:

Basic est Binding="{Binding date, StringFormat={}{0:dd/MM/yyyy}}"

+0

et comment je peux créer des datecolumns? –

+0

@Acid voir l'édition –

+0

merci pour la relecture mais il est très flou pour moi :(où je dois wright this?: Binding = "{Date de liaison, StringFormat = {} {0: jj/MM/aaaa}}" –

Questions connexes