Partager via


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