Compartilhar via


Criando um DataView

Há duas maneiras de criar um DataView. Você pode usar o DataView construtor ou pode criar uma referência à propriedade DefaultView do DataTable. O DataView construtor pode estar vazio ou pode receber um DataTable como único argumento ou um DataTable juntamente com critérios de filtro, critérios de classificação e um filtro de estado de linha. Para obter mais informações sobre os argumentos adicionais disponíveis para uso com o DataView, consulte Classificação e filtragem de dados.

Como o índice de um DataView é criado quando o DataView é criado e quando qualquer uma das propriedades Sort, RowFilter ou RowStateFilter é modificada, você obtém o melhor desempenho fornecendo qualquer ordem inicial de classificação ou critérios de filtragem como argumentos ao construtor ao criar o DataView. Criar um DataView sem especificar critérios de classificação ou filtro e, em seguida, definir as propriedades Classificar, RowFilter ou RowStateFilter posteriores faz com que o índice seja criado pelo menos duas vezes: uma vez quando o DataView é criado e novamente quando qualquer uma das propriedades de classificação ou filtro é modificada.

Observe que, se você criar um DataView utilizando o construtor que não recebe argumentos, não poderá usar o DataView até definir a propriedade Table.

O exemplo de código a seguir demonstra como criar um DataView usando o construtor DataView. Um RowFilter, Sort coluna e DataViewRowState são fornecidos junto com a 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);

O exemplo de código a seguir demonstra como obter uma referência ao padrão DataView de um DataTable usando a propriedade DefaultView da tabela.

Dim custDV As DataView = custDS.Tables("Customers").DefaultView
DataView custDV = custDS.Tables["Customers"].DefaultView;

Consulte também