Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O DataView fornece várias maneiras de classificar e filtrar dados em um DataTable:
Você pode usar a Sort propriedade para especificar ordens de classificação de coluna única ou múltipla e incluir parâmetros ASC (crescente) e DESC (decrescente).
Você pode usar a ApplyDefaultSort propriedade para criar automaticamente uma ordem de classificação, em ordem crescente, com base na coluna ou colunas da chave primária da tabela. ApplyDefaultSort só se aplica quando a propriedade Sort é uma referência nula ou uma cadeia de caracteres vazia e quando a tabela tem uma chave primária definida.
Você pode usar a RowFilter propriedade para especificar subconjuntos de linhas com base em seus valores de coluna. Para obter detalhes sobre expressões válidas para a propriedade RowFilter , consulte as informações de referência para a Expression propriedade da DataColumn classe.
Se você quiser retornar os resultados de uma consulta específica nos dados, em vez de fornecer uma exibição dinâmica de um subconjunto dos dados, use os Find métodos ou FindRows do DataView para obter o melhor desempenho em vez de definir a propriedade RowFilter . A definição da propriedade RowFilter recria o índice dos dados, adicionando sobrecarga ao seu aplicativo e diminuindo o desempenho. A propriedade RowFilter é melhor usada em um aplicativo vinculado a dados onde um controle acoplado exibe resultados filtrados. Os métodos Find e FindRows aproveitam o índice atual sem exigir que o índice seja reconstruído. Para obter mais informações sobre os métodos Find e FindRows , consulte Localizando linhas.
Você pode usar a RowStateFilter propriedade para especificar quais versões de linha exibir. O DataView gerencia implicitamente qual versão de linha expor dependendo do RowState da linha subjacente. Por exemplo, se o RowStateFilter estiver definido como DataViewRowState.Deleted, o DataView expõe a versão Original da linha de todas as linhas Deleted porque não há nenhuma versão Current da linha. Você pode determinar qual versão de linha de uma linha está sendo exposta usando a propriedade RowVersion do DataRowView.
A tabela a seguir mostra as opções para DataViewRowState.
Opções de DataViewRowState Descrição CurrentRows A versão atual de todas as linhas Inalteradas, Adicionadas e Modificadas. Este é o padrão. Adicionado A versão da linha atual de todas as linhas adicionadas. Eliminado A versão original de todas as linhas apagadas. Corrente modificada A versão da linha atual de todas as linhas modificadas . Original Modificado A versão de linha Original de todas as linhas Modificadas. Nenhum Sem linhas. Linhas Originais A versão Original de todas as linhas Inalteradas, Modificadas e Apagadas. Inalterado A versão atual da linha de todas as linhas inalteradas.
Para obter mais informações sobre estados de linha e versões de linha, consulte Estados de linha e versões de linha.
O exemplo de código a seguir cria uma exibição que mostra todos os produtos em que o número de unidades em estoque é menor ou igual ao nível de repedido, classificados primeiro por ID do fornecedor e, em seguida, pelo nome do produto.
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);