Como: Criar listas de mestre/detalhes com o controle DataGrid do Windows Forms
Observação |
---|
O DataGridView controle substitui e adiciona funcionalidade para o DataGrid controle; No entanto, o DataGrid controle é mantido para compatibilidade com versões anteriores e o uso futuro, se você escolher. Para obter mais informações, consulte Diferenças entre o DataGridView do Windows Forms e controles DataGrid. |
Se sua DataSet contém uma série de tabelas relacionadas, você pode usar dois DataGrid controles para exibir os dados em um formato de mestre/detalhes. Um DataGrid é designado para ser grade master, e o segundo é designado para ser a grade de detalhes. Quando você selecionar uma entrada na lista mestre, todas as entradas dos filhos relacionados são mostradas na lista de detalhes. Por exemplo, se sua DataSet contém uma tabela clientes e uma tabela relacionada Orders, você deve especificar a tabela de clientes, seja de grade master e a tabela Orders para ser a grade de detalhes. Quando um cliente da grade da tabela mestre é selecionado, todas os pedidos associadas com aquele cliente na tabela Pedidos serão exibidos na grade de detalhes.
Para definir um relacionamento master/detail programaticamente
Criar dois novos DataGrid controla e definir suas propriedades.
Adicione tabelas ao dataset.
Declarar uma variável do tipo DataRelation para representar o parceiro que você deseja criar.
Instancie o relacionamento especificando um nome para o relacionamento e especificando a tabela, coluna e item irá vincular duas tabelas.
Adicionar a relação com o DataSet do objeto Relations coleção.
Use o SetDataBinding método o DataGrid para vincular cada uma das grades para o DataSet.
O exemplo a seguir mostra como definir um relacionamento entre as tabelas Customers e Orders no gerado anteriormente DataSet (ds).
Dim myDataRelation As DataRelation myDataRelation = New DataRelation _ ("CustOrd", ds.Tables("Customers").Columns("CustomerID"), _ ds.Tables("Orders").Columns("CustomerID")) ' Add the relation to the DataSet. ds.Relations.Add(myDataRelation) GridOrders.SetDataBinding(ds, "Customers") GridDetails.SetDataBinding(ds, "Customers.CustOrd")
DataRelation myDataRelation; myDataRelation = new DataRelation("CustOrd", ds.Tables["Customers"].Columns["CustomerID"], ds.Tables["Orders"].Columns["CustomerID"]); // Add the relation to the DataSet. ds.Relations.Add(myDataRelation); GridOrders.SetDataBinding(ds,"Customers"); GridDetails.SetDataBinding(ds,"Customers.CustOrd");
DataRelation^ myDataRelation; myDataRelation = gcnew DataRelation("CustOrd", ds->Tables["Customers"]->Columns["CustomerID"], ds->Tables["Orders"]->Columns["CustomerID"]); // Add the relation to the DataSet. ds->Relations->Add(myDataRelation); GridOrders->SetDataBinding(ds, "Customers"); GridDetails->SetDataBinding(ds, "Customers.CustOrd");
Consulte também
Tarefas
Como: Vincular o controle DataGrid do Windows Forms a uma fonte de dados
Referência
Visão geral do controle DataGrid (Windows Forms)