Gewusst wie: Navigieren durch die Objekte in einer Datenauflistungsansicht
Mit Ansichten kann eine Datenerfassung abhängig von Sortierung, Filterung oder Gruppierung auf verschiedene Weise angezeigt werden. Ansichten stellen auch einen Zeiger auf den aktuellen Datensatz bereit und ermöglichen das Verschieben des Zeigers. In diesem Beispiel wird gezeigt, wie das aktuelle Objekt abgerufen wird und wie Sie mithilfe der von der CollectionView-Klasse bereitgestellten Funktionalität durch die Objekte in einer Datenerfassung navigieren.
Beispiel
In diesem Beispiel ist myCollectionView ein CollectionView-Objekt, das eine Ansicht für eine gebundene Auflistung ist.
Im folgenden Beispiel ist OnButton ein Ereignishandler für die Previous-Schaltfläche und die Next-Schaltfläche in einer Anwendung. Hierbei handelt es sich um Schaltflächen, mit denen der Benutzer in der Datenerfassung navigieren kann. Beachten Sie, dass die IsCurrentBeforeFirst-Eigenschaft und die IsCurrentAfterLast-Eigenschaft berichten, ob der Zeiger für den aktuellen Datensatz am Anfang bzw. am Ende der Liste angekommen ist, sodass wie erforderlich entweder MoveCurrentToFirst oder MoveCurrentToLast aufgerufen werden kann.
Die CurrentItem-Eigenschaft der Ansicht wird in eine Order umgewandelt, um das Element für die aktuelle Reihenfolge in der Erfassung zurückzugeben.
'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
}
}
Siehe auch
Aufgaben
Gewusst wie: Sortieren von Daten in einer Ansicht
Gewusst wie: Filtern von Daten in einer Ansicht
Gewusst wie: Sortieren und Gruppieren von Daten mit einer Ansicht in XAML