Guide pratique pour parcourir les objets dans un Data CollectionView
Les vues permettent d’afficher la même collection de données de différentes manières, en fonction du tri, du filtrage ou du regroupement. Les vues fournissent également un concept de pointeur d’enregistrement actuel et permettent de déplacer le pointeur. Cet exemple montre comment obtenir l’objet actuel et parcourir les objets d’une collection de données à l’aide des fonctionnalités fournies dans la classe CollectionView.
Exemple
Dans cet exemple, myCollectionView
est un objet CollectionView qui est une vue sur une collection liée.
Dans l’exemple suivant, OnButton
est un gestionnaire d’événements pour les boutons Previous
et Next
dans une application, qui sont des boutons qui permettent à l’utilisateur de naviguer dans la collecte de données. Notez que les propriétés IsCurrentBeforeFirst et IsCurrentAfterLast indiquent si le pointeur d’enregistrement actuel est arrivé au début et à la fin de la liste respectivement afin que MoveCurrentToFirst et MoveCurrentToLast puissent être appelés de manière appropriée.
La propriété CurrentItem de la vue est convertie en Order
afin de retourner l'article de commande actuel dans la collection.
//OnButton is called whenever the Next or Previous buttons
//are clicked to change the currency
private void OnButton(Object sender, RoutedEventArgs args)
{
Button b = sender as Button;
switch (b.Name)
{
case "Previous":
myCollectionView.MoveCurrentToPrevious();
if (myCollectionView.IsCurrentBeforeFirst)
{
myCollectionView.MoveCurrentToLast();
}
break;
case "Next":
myCollectionView.MoveCurrentToNext();
if (myCollectionView.IsCurrentAfterLast)
{
myCollectionView.MoveCurrentToFirst();
}
break;
o = myCollectionView.CurrentItem as Order;
// TODO: do something with the current Order o
}
}
'OnButton is called whenever the Next or Previous buttons
'are clicked to change the currency
Private Sub OnButton(ByVal sender As Object, ByVal args As RoutedEventArgs)
Dim b As Button = TryCast(sender, Button)
Select Case b.Name
Case "Previous"
myCollectionView.MoveCurrentToPrevious()
If myCollectionView.IsCurrentBeforeFirst Then
myCollectionView.MoveCurrentToLast()
End If
Case "Next"
myCollectionView.MoveCurrentToNext()
If myCollectionView.IsCurrentAfterLast Then
myCollectionView.MoveCurrentToFirst()
End If
Exit Select
o = TryCast(myCollectionView.CurrentItem, Order)
' TODO: do something with the current Order o
End Select
End Sub
Voir aussi
- Vue d’ensemble de la liaison de données
- trier des données dans une vue
- filtrer les données dans une vue
- trier et regrouper des données à l’aide d’une vue en XAML
- Sujets pratiques
.NET Desktop feedback