Tworzenie elementu DataView
Istnieją dwa sposoby tworzenia elementu DataView. Możesz użyć konstruktora DataView lub utworzyć odwołanie do DefaultView właściwości DataTable. Konstruktor DataView może być pusty lub może przyjąć tabelę DataTable jako pojedynczy argument lub tabelę DataTable wraz z kryteriami filtru, kryteriami sortowania i filtrem stanu wiersza. Aby uzyskać więcej informacji na temat dodatkowych argumentów dostępnych do użycia z elementem DataView, zobacz Sortowanie i filtrowanie danych.
Ponieważ indeks elementu DataView jest kompilowany zarówno podczas tworzenia obiektu DataView, jak i kiedy podczas tworzenia obiektu DataView są modyfikowane dowolne właściwości Sort, RowFilter lub RowStateFilter, można uzyskać najlepszą wydajność, podając wszelkie początkowe kryteria sortowania lub filtrowania jako argumenty konstruktora. Utworzenie elementu DataView bez określania kryteriów sortowania lub filtru, a następnie ustawienie właściwości Sort, RowFilter lub RowStateFilter powoduje, że indeks zostanie skompilowany co najmniej dwa razy: raz po utworzeniu widoku danych, a następnie ponownie po zmodyfikowaniu dowolnej właściwości sortowania lub filtru.
Należy pamiętać, że jeśli utworzysz obiekt DataView przy użyciu konstruktora, który nie przyjmuje żadnych argumentów, nie będzie można użyć elementu DataView , dopóki nie ustawisz właściwości Table .
W poniższym przykładzie kodu pokazano, jak utworzyć element DataView przy użyciu konstruktora DataView . Kolumny RowFilter, Sort i DataViewRowState są dostarczane wraz z tabelą DataTable.
Dim custDV As DataView = New DataView(custDS.Tables("Customers"), _
"Country = 'USA'", _
"ContactName", _
DataViewRowState.CurrentRows)
DataView custDV = new DataView(custDS.Tables["Customers"],
"Country = 'USA'",
"ContactName",
DataViewRowState.CurrentRows);
W poniższym przykładzie kodu pokazano, jak uzyskać odwołanie do domyślnego widoku DataView tabeli DataTable przy użyciu właściwości DefaultView tabeli.
Dim custDV As DataView = custDS.Tables("Customers").DefaultView
DataView custDV = custDS.Tables["Customers"].DefaultView;