Bonjour,
Je suis en train de dev une extension au datagrid qui permet aujourd'hui de faire du groupement dynamique et du filtrage.
J'aimerais maintenant customiser mes entêtes de groupes pour faire des sommes etc...
Le problème c'est que les exemples donnés sur le webs ne fonctionnent pas car ils sont "statiques" . Il n'y a pas d'ajout/suppression de groupes ou de colonnes dans l'application et bien sur ça simplifie les choses.
Cependant après un peu de boulot et de recherche j'arrive à faire ceci :
grâce au XAML du DataGridRowHeader modifié je peux donc afficher des entêtes personnalisés même si l'utilisateur ajoute ou supprime d'autres groupes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 protected override void OnLoadingRowGroup(DataGridRowGroupHeaderEventArgs e) { this.Dispatcher.BeginInvoke(() => { base.OnLoadingRowGroup(e); StackPanel ct = (e.RowGroupHeader.GetChild("ControlHeaderGroups", true) as StackPanel); if (ct != null) { ct.Children.Clear(); Label txt = new Label(); txt.Margin = new Thickness(4); txt.VerticalAlignment = System.Windows.VerticalAlignment.Top; txt.Content = "Groupe : " + this.GetColumnHeaderByBindName(e.RowGroupHeader.PropertyName).Content.ToString() ; ct.Children.Add(txt); } }); }
Mais ce n'est que du texte.
J'aimerais proposer du calcul maintenant et pour ça il faut que je récupère mon CollectionViewGroup.
D'ou ma question : comment dans un LoadingRowGroup je peux récupérer le collectionviewgroup associé ou tout simplement l'ensemble des lignes associé au groupe ?
Question difficile mais sait-on jamais
En vous remerciant pour votre aide,
Partager