Condividi tramite


Procedura: navigare tra gli oggetti nella visualizzazione di una raccolta dati

È possibile visualizzare una stessa raccolta dati in diversi modi, in base all'ordinamento, al filtro o al raggruppamento. Le visualizzazioni forniscono un'idea del puntatore al record corrente e consentono di spostare il puntatore. In questo esempio viene illustrato come ottenere l'oggetto corrente nonché come spostarsi tra gli oggetti in una raccolta dati utilizzando la funzionalità della classe CollectionView.

Esempio

In questo esempio, myCollectionView è un oggetto CollectionView che rappresenta una visualizzazione di un insieme ad associazione.

Nell'esempio riportato di seguito, OnButton è un gestore eventi per i pulsanti Previous e Next in un'applicazione. Tali pulsanti consentono all'utente di spostarsi nella raccolta dati. Si noti che le proprietà IsCurrentBeforeFirst e IsCurrentAfterLast segnalano se il puntatore del record corrente si trova rispettivamente all'inizio o alla fine dell'elenco in modo che MoveCurrentToFirst e MoveCurrentToLast possano essere chiamati come appropriato.

Il cast della proprietà CurrentItem della visualizzazione viene eseguito come Order per restituire l'elemento dell'ordine corrente nell'insieme.

    '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
//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 
      }
  }

Vedere anche

Attività

Procedura: ordinare i dati in una visualizzazione

Procedura: filtrare i dati in una visualizzazione

Procedura: ordinare e raggruppare i dati tramite una visualizzazione di XAML

Concetti

Cenni preliminari sull'associazione dati

Altre risorse

Procedure relative all'associazione dati