Udostępnij za pośrednictwem


Sortowanie i filtrowanie danych

Zawiera DataView kilka sposobów sortowania i filtrowania danych w obiekcie DataTable:

  • Za pomocą Sort właściwości można określić pojedyncze lub wiele zamówień sortowania kolumn i uwzględnić parametry ASC (rosnąco) i DESC (malejąco).

  • Za pomocą ApplyDefaultSort właściwości można automatycznie utworzyć kolejność sortowania w kolejności rosnącej na podstawie kolumny klucza podstawowego lub kolumn tabeli. ApplyDefaultSort Ma zastosowanie tylko wtedy, gdy właściwość Sort jest odwołaniem o wartości null lub pustym ciągiem, a gdy tabela ma zdefiniowany klucz podstawowy.

  • Za pomocą RowFilter właściwości można określić podzestawy wierszy na podstawie ich wartości kolumn. Aby uzyskać szczegółowe informacje na temat prawidłowych wyrażeń dla właściwości RowFilter , zobacz informacje referencyjne dotyczące Expression właściwości DataColumn klasy.

    Jeśli chcesz zwrócić wyniki określonego zapytania dotyczącego danych, w przeciwieństwie do zapewnienia dynamicznego widoku podzestawu danych, użyj metod lub elementu DataView, aby uzyskać najlepszą wydajność, zamiast ustawiać właściwość RowFilter.FindRowsFind Ustawienie właściwości RowFilter ponownie kompiluje indeks danych, dodając obciążenie do aplikacji i zmniejszając wydajność. Właściwość RowFilter najlepiej używać w aplikacji powiązanej z danymi, gdzie powiązana kontrolka wyświetla przefiltrowane wyniki. Metody Find i FindRows wykorzystują bieżący indeks bez konieczności odbudowy indeksu. Aby uzyskać więcej informacji na temat metod Find and FindRows , zobacz Znajdowanie wierszy.

  • Możesz użyć RowStateFilter właściwości , aby określić, które wersje wierszy mają być wyświetlane. Element DataView niejawnie zarządza wersją wiersza, która ma być uwidaczniana w zależności od wartości RowState wiersza bazowego. Jeśli na przykład właściwość RowStateFilter jest ustawiona na DataViewRowState.Deleted, widok DataView uwidacznia oryginalnąwersję wiersza wszystkich usuniętych wierszy, ponieważ nie ma bieżącej wersji wiersza. Można określić, która wersja wiersza jest uwidoczniona przy użyciu właściwości RowVersion elementu DataRowView.

    W poniższej tabeli przedstawiono opcje elementu DataViewRowState.

    Opcje Elementu DataViewRowState opis
    CurrentRows Bieżąca wersja wiersza wszystkich bez zmian, dodanych i zmodyfikowanych wierszy. Jest to opcja domyślna.
    Dodane Bieżąca wersja wiersza wszystkich dodanych wierszy.
    Usunięto Oryginalna wersja wiersza wszystkich usuniętych wierszy.
    ModifiedCurrent Bieżąca wersja wiersza wszystkich zmodyfikowanych wierszy.
    ModifiedOriginal Oryginalna wersja wiersza wszystkich zmodyfikowanych wierszy.
    Brak Brak wierszy.
    OriginalRows Oryginalnawersja wiersza wszystkich wierszy bez zmian, zmodyfikowanych i usuniętych wierszy.
    Niezmienione Bieżąca wersja wiersza wszystkich bez zmian wierszy.

Aby uzyskać więcej informacji na temat stanów wierszy i wersji wierszy, zobacz Stany wierszy i Wersje wierszy.

Poniższy przykład kodu tworzy widok pokazujący wszystkie produkty, w których liczba jednostek w magazynie jest mniejsza lub równa poziomowi zmiany kolejności, posortowanego najpierw według identyfikatora dostawcy, a następnie według nazwy produktu.

Dim prodView As DataView = New DataView(prodDS.Tables("Products"), _  
   "UnitsInStock <= ReorderLevel", _  
   "SupplierID, ProductName", _  
   DataViewRowState.CurrentRows)  
DataView prodView = new DataView(prodDS.Tables["Products"],  
   "UnitsInStock <= ReorderLevel",  
   "SupplierID, ProductName",  
   DataViewRowState.CurrentRows);  

Zobacz też