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
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 chamadoDsCategories1
: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 :CategoriesService
DsCategories1
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());
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, "");
(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
.NET Desktop feedback
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de