Como: localizar a Specific linha em uma DataTable

A maioria dos aplicativos que consomem dados precisa acessar registros específicos que satisfaçam algum tipo de critério.Para localizar uma linha específica em um DataSet, você pode chamar o método Find do objeto DataRowCollection.Se existir a chave primária, em seguida, um objeto DataRow será retornado.Se não puder ser encontrada a chave primária, será retornado um valor nulo.

Localizando uma Linha com um Valor de Chave Primária

Para localizar uma linha em um dataset digitado com um valor de chave primária

  • Chame o método fortemente tipado FindBy que usa a chave primária da tabela para localizar uma linha.

    No exemplo a seguir, a CustomerID coluna é a chave primária da tabela Customers, portanto é FindByCustomerID o método gerado FindBy.O exemplo mostra como atribuir um determinado DataRow a uma variável usando o método FindBy gerado.

    Dim customersRow As NorthwindDataSet.CustomersRow
    customersRow = NorthwindDataSet1.Customers.FindByCustomerID("ALFKI")
    
    NorthwindDataSet.CustomersRow customersRow = 
        northwindDataSet1.Customers.FindByCustomerID("ALFKI");
    

Para localizar uma linha em um dataset não digitado com um valor de chave primária

  • Chame o método Find de uma coleção DataRowCollection, passando a chave primária como um parâmetro.

    O exemplo a seguir mostra como declarar uma nova linha chamada foundRow e atribuir a ela o valor de retorno do método Find.Se a chave primária for encontrado, o conteúdo do índice da coluna 1 é exibido em uma caixa de mensagem.

    Dim s As String = "primaryKeyValue"
    Dim foundRow As DataRow = DataSet1.Tables("AnyTable").Rows.Find(s)
    
    If foundRow IsNot Nothing Then
        MsgBox(foundRow(1).ToString())
    Else
        MsgBox("A row with the primary key of " & s & " could not be found")
    End If
    
    string s = "primaryKeyValue";
    DataRow foundRow = dataSet1.Tables["AnyTable"].Rows.Find(s);
    
    if (foundRow != null) 
    {
        MessageBox.Show(foundRow[1].ToString());
    }
    else
    {
        MessageBox.Show("A row with the primary key of " + s + " could not be found");
    }
    

Localizando Linhas por Valores de Coluna

Para localizar linhas com base nos valores em qualquer coluna

  • As tabelas de dados são criadas com um método Select que retorna uma matriz de DataRow s com base na expressão passada para o método Select.Para obter mais informações sobre como criar expressões válidas, consulte a seção " Sintaxe de expressões " da página sobre a propriedade Expression.

    O exemplo a seguir mostra como usar o método Select de DataTable para localizar linhas específicas.

    Dim foundRows() As Data.DataRow
    foundRows = DataSet1.Tables("Customers").Select("CompanyName Like 'A%'")
    
    DataRow[] foundRows;
    foundRows = dataSet1.Tables["Customers"].Select("CompanyName Like 'A%'");
    

Consulte também

Referência

Find

Select

Outros recursos

Editar dados no seu aplicativo

Conectando-se a Dados no Visual Studio

Preparando seu aplicativo para receber dados

Buscando dados em seu aplicativo

Exibindo dados em formulários em aplicativos do Windows

Editar dados no seu aplicativo

Validando Dados

Salvando dados