Je suis nouveau sur WPF et je ne sais pas comment implémenter ce dont j'ai besoin.wpf listview/gridview: masquer le contenu répété
Mon problème:
J'ai une donnée liée WPF gridview afficher les résultats d'une requête SQL. Certaines colonnes présentent des données répétées que j'aimerais masquer. Ce:
occupancy name room
--------- --------- -----
Occupied Bob 1
Occupied Ted 2
Available 3
Available 4
devrait ressembler à ceci:
occupancy name room
--------- --------- -----
Occupied Bob 1
Ted 2
Available 3
4
Mon environnement:
en utilisant C# sur .NET 3.5. J'ai lié le listview à une collection dataview. J'ai un modèle de données pour les cellules pour contrôler le formatage.
Ma solution tenative:
Je pensais que je devrais appliquer un déclencheur au modèle et modifier les propriétés pour rendre le texte vide sur toutes les lignes après la première où les données sont les mêmes que la ligne précédente.
Lorsque je configure le déclencheur, puis-je effectuer tout cela dans xaml ou dois-je écrire du code pour accéder à la ligne précédente?
Si c'est en XAML, comment construisez-vous la (les) chaîne (s) de liaison pour référencer les colonnes dans les lignes actuelles et précédentes de la vue de données à laquelle elle est liée? Va-t-il s'étouffer au premier rang puisqu'il n'y a pas de rangée précédente?
est ici le modèle que je travaille avec:
<DataTemplate x:Key="Occupancy">
<TextBlock Name="Occupancy" Text="{Binding Path=Occupancy}" TextAlignment="Left" />
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=Occupancy}">
<DataTrigger.Value>Available</DataTrigger.Value>
<Setter TargetName="Occupancy" Property="**{previous column's content}**" Value="**{current columns content}**"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
Peut-être utiliser RelativeSource: ?? PreviousData
Si je dois écrire du code, quelqu'un est-il au courant d'un tutoriel décent qui me permettrait de démarrer?
D'autres solutions sont acceptables, même si je pense qu'un style sans code que je pourrais appliquer à de nombreuses colonnes serait la solution optimale.
Merci pour votre temps.
Jay
J'ai essayé d'amener les gars de Sqlite à ajouter une fonction intégrée pour renvoyer le numéro de ligne du jeu de résultats de requête mais ils n'en ont pas vu la valeur;) Merci – Jay