Avoir un DataGrid avec plusieurs colonnes.
Souhaitez limiter l'activation du DataGrid.RowDetailsTemplate à certaines colonnes.
En fait, je veux juste exclure une colonne de l'activation du DataGrid.RowDetailsTemplate.Limiter l'activation de DataGrid.RowDetailsTemplate à certaines colonnes
1
A
Répondre
1
Vous pouvez utiliser l'événement RowDetailsVisibilityChanged
(msdn) et dans le gestionnaire d'événements, vous pouvez vérifier la colonne sélectionnée et masquer ou afficher les détails des lignes.
Dans l'exemple ci-dessous, je ne souhaite pas afficher les détails des lignes lorsque je sélectionne une cellule dans la colonne "Nom".
XAML:
<DataGrid Name="outerGrid" AutoGenerateColumns="False"
ItemsSource="{Binding}"
RowDetailsVisibilityChanged="outerGrid_RowDetailsVisibilityChanged" >
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid Name="innerGrid" ItemsSource="{Binding Items}" AutoGenerateColumns="False" >
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Surname" Binding="{Binding Surname}"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Id}"/>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Surname" Binding="{Binding Surname}"/>
</DataGrid.Columns>
</DataGrid>
code-behind:
private void outerGrid_RowDetailsVisibilityChanged(object sender, DataGridRowDetailsEventArgs e)
{
DataGrid dg = sender as DataGrid;
if (dg != null)
{
if (dg.CurrentCell != null && dg.CurrentCell.Column.Header.ToString() == "Name")
{
e.DetailsElement.Visibility = System.Windows.Visibility.Collapsed;
}
else
{
e.DetailsElement.Visibility = System.Windows.Visibility.Visible;
}
}
}
Questions connexes
- 1. Comment limiter les opérations à certaines lignes?
- 2. Limiter jekyll post liste à certaines catégories
- 3. Limiter le flux à certaines catégories
- 4. Programmation Macro pour limiter certaines données
- 5. Trier à l'aide de certaines colonnes
- 6. Comment limiter certaines méthodes de service Web à certains utilisateurs?
- 7. Comment limiter l'utilisateur à certaines URL de webview?
- 8. Réplication Mysql de certaines colonnes
- 9. Obtenir certaines colonnes bash
- 10. Utilisation d'une Datagrid en tant que Datagrid.RowDetailsTemplate
- 11. Insérer déclencheur mettre à jour certaines colonnes
- 12. Limiter certaines actions, fonction _remap, CodeIgniter
- 13. Limiter l'accès TFS à certaines adresses IP uniquement
- 14. Comment limiter la visibilité d'un service WCF à certaines adresses?
- 15. Comment limiter certaines vues/actions à des utilisateurs connectés?
- 16. rendre certaines colonnes non supportables?
- 17. CSV tri sur certaines colonnes
- 18. GridView DataTable: Passer certaines colonnes
- 19. Comment trier seulement certaines colonnes
- 20. jQuery append() seulement certaines colonnes
- 21. Masquer (ou filtrer) certaines colonnes de colonnes Groupe
- 22. LinqToExcel ignorer certaines colonnes de StrictMapping
- 23. jqGrid MVC omettent certaines colonnes de ModelState
- 24. Désactiver certaines colonnes de la grille
- 25. Sum de ligne SQL pour certaines colonnes
- 26. Dupliquer toutes les colonnes à l'exception de certaines d'entre elles
- 27. Sélectionner certaines colonnes à partir de plusieurs lignes
- 28. Rails 3 mappant certaines colonnes à différents attributs de modèle
- 29. mettre à jour certaines colonnes de la table si else
- 30. Comment puis-je obtenir certaines colonnes de datatable à datagridview?