Практическое руководство. Создание основных или подробных списков с помощью элемента управления DataGrid в Windows Forms
Обновлен: Ноябрь 2007
Примечание. |
---|
Элемент управления DataGridView заменяет элемент управления DataGrid и расширяет его функциональные возможности; однако при необходимости элемент управления DataGrid можно сохранить для обратной совместимости и использования в будущем. Дополнительные сведения см. в разделе Различия элементов управления DataGridView и DataGrid в Windows Forms. |
Если объект DataSet содержит набор связанных таблиц, для представления данных в формате сводки/основных сведений можно использовать два элемента управления DataGrid. В этом случае один элемент управления DataGrid является основной сеткой, а второй – сеткой сведений. При выборе записи в основном списке все связанные дочерние записи отображаются в списке сведений. Например, если в объекте DataSet находятся таблица Customers и связанная таблица Orders, таблицу Customers можно указать в качестве основной сетки, а таблицу Orders – в качестве сетки сведений. При выборе заказчика в основной сетке все заказы, связанные с ним в таблице Orders, отобразятся в сетке сведений.
Чтобы настроить связь сводки с основными сведениями программным образом
Создайте два новых элемента управления DataGrid и задайте их свойства.
Добавьте таблицы в набор данных.
Объявите переменную типа DataRelation для представления создаваемой связи.
Создайте экземпляр связи, указав ее имя и задав таблицу, столбец и элемент, который будет связывать обе таблицы.
Используйте метод SetDataBinding у DataGrid для привязки каждой сетки к DataSet.
В следующем примере показано, как настроить связь основных сведений/сводки между таблицами Customers и Orders в ранее созданном объекте 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");
См. также
Задачи
Практическое руководство. Привязка элемента управления DataGrid в Windows Forms к источнику данных
Ссылки
Общие сведения об элементе управления DataGrid (Windows Forms)