Como associar o controle DataGrid do Windows Forms a uma fonte de dados

Observação

O controle DataGridView substitui e adiciona funcionalidade ao controle DataGrid, no entanto, o controle DataGrid é mantido para compatibilidade com versões anteriores e para uso futuro, se desejado. Para obter mais informações, consulte Diferenças Entre o Windows Forms DataGridView e os Controles do DataGrid.

O controle Windows Forms DataGrid foi projetado especificamente para exibir informações de uma fonte de dados. Você vincula o controle em tempo de execução chamando o SetDataBinding método. Embora seja possível exibir dados de uma variedade de fontes de dados, as fontes mais comuns são conjuntos de dados e exibições de dados.

Associar dados ao controle DataGrid por com programação

  1. Grave código para preencher o conjunto de dados.

    Se a fonte de dados for um conjunto de dados ou uma exibição de dados com base em uma tabela de conjunto de dados, adicione código ao formulário para preencher o conjunto de dados.

    O código exato usado depende do local em que o conjunto de dados está recebendo dados. Se o conjunto de dados estiver sendo preenchido diretamente de um banco de dados, você normalmente chamará o Fill método de um adaptador de dados, como no exemplo a seguir, que preenche um conjunto de dados chamado DsCategories1:

    sqlDataAdapter1.Fill(DsCategories1)  
    
    sqlDataAdapter1.Fill(DsCategories1);  
    
    sqlDataAdapter1->Fill(dsCategories1);  
    

    Se o conjunto de dados estiver sendo preenchido de um serviço Web XML, geralmente uma instância do serviço será criada no seu código e uma chamada será feita para um de seus métodos retornar um conjunto de dados. Em seguida, mescle o conjunto de dados do serviço Web XML ao seu conjunto de dados local. O exemplo a seguir mostra como você pode criar uma instância de um XML Web Service chamado , chamar seu GetCategories método e mesclar o conjunto de dados resultante em um conjunto de dados local chamado :CategoriesServiceDsCategories1

    Dim ws As New MyProject.localhost.CategoriesService()  
    ws.Credentials = System.Net.CredentialCache.DefaultCredentials  
    DsCategories1.Merge(ws.GetCategories())  
    
    MyProject.localhost.CategoriesService ws = new MyProject.localhost.CategoriesService();  
    ws.Credentials = System.Net.CredentialCache.DefaultCredentials;  
    DsCategories1.Merge(ws.GetCategories());  
    
    MyProject::localhost::CategoriesService^ ws =
       new MyProject::localhost::CategoriesService();  
    ws->Credentials = System::Net::CredentialCache::DefaultCredentials;  
    dsCategories1->Merge(ws->GetCategories());  
    
  2. Chame o DataGrid método do controle, passando-lhe a fonte de dados e um membro de SetDataBinding dados. Se você não precisar passar explicitamente um membro de dados, passe uma cadeia de caracteres vazia.

    Observação

    Se você estiver vinculando a grade pela primeira vez, poderá definir as propriedades e DataMember os controlesDataSource. No entanto, não será possível redefinir essas propriedades depois de serem definidas. Portanto, recomenda-se que você sempre use o SetDataBinding método.

    O exemplo a seguir mostra como é possível associar com programação à tabela Clientes em um conjunto de dados chamado DsCustomers1:

    DataGrid1.SetDataBinding(DsCustomers1, "Customers")  
    
    DataGrid1.SetDataBinding(DsCustomers1, "Customers");  
    
    dataGrid1->SetDataBinding(dsCustomers1, "Customers");  
    

    Se a tabela Clientes for a única tabela no conjunto de dados, também seria possível associar a grade da seguinte forma:

    DataGrid1.SetDataBinding(DsCustomers1, "")  
    
    DataGrid1.SetDataBinding(DsCustomers1, "");  
    
    dataGrid1->SetDataBinding(dsCustomers1, "");  
    
  3. (Opcional) Adicione os estilos apropriados de tabela e coluna à grade. Se não houver nenhum estilo de tabela, a tabela ainda será vista, mas com formatação mínima e todas as colunas visíveis.

Confira também