Delen via


Procedure: Navigeren door de objecten in een Data CollectionView

Met weergaven kan dezelfde gegevensverzameling op verschillende manieren worden bekeken, afhankelijk van sorteren, filteren of groeperen. Weergaven bieden ook een huidig concept voor recordpointer en schakelen het verplaatsen van de aanwijzer in. In dit voorbeeld ziet u hoe u het huidige object ophaalt en door de objecten in een gegevensverzameling navigeert met behulp van de functionaliteit in de CollectionView klasse.

Voorbeeld

In dit voorbeeld is myCollectionView een CollectionView-object dat een weergave is van een afhankelijke verzameling.

In het volgende voorbeeld is OnButton een gebeurtenis-handler voor de knoppen Previous en Next in een toepassing. Dit zijn knoppen waarmee de gebruiker door de gegevensverzameling kan navigeren. Houd er rekening mee dat de eigenschappen IsCurrentBeforeFirst en IsCurrentAfterLast aangeven of de huidige recordaanwijzer respectievelijk aan het begin of het einde van de lijst is gekomen, zodat MoveCurrentToFirst en MoveCurrentToLast op gepaste wijze kunnen worden aangeroepen.

De eigenschap CurrentItem van de weergave wordt omgezet naar een Order om het huidige orderitem in de verzameling terug te geven.

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

Zie ook