级联datagridview 利用datarelation和bindingsource
// TODO: 这行代码将数据加载到表“dataSet2.Son”中。您可以根据需要移动或移除它。
this.sonTableAdapter.Fill(this.dataSet2.Son);
// TODO: 这行代码将数据加载到表“dataSet2.Parent”中。您可以根据需要移动或移除它。
this.parentTableAdapter.Fill(this.dataSet2.Parent);
以下完全可以可视化操作完成.
//DataColumn parentCol = dbSet.Tables["Customers"].Columns["CustomerID"];
//DataColumn childCol = dbSet.Tables["Orders"].Columns["CustomerID"];
//DataRelation relation = new DataRelation("FK_Customers_Orders", parentCol, childCol); // 建立主从关系
//dbSet.Relations.Add(relation); // 添加主从关系到数据集中
//BindingSource bs_Customers = new BindingSource(); // 创建绑定源
//BindingSource bs_Orders = new BindingSource();
//bs_Customers.DataSource = dbSet;
//bs_Customers.DataMember = "Customers"; // 绑定到数据源——主表
//bs_Orders.DataSource = bs_Customers; //绑定到上一BindingSource
//bs_Orders.DataMember = "FK_Customers_Orders"; // 绑定到关系——从表,注意:区分大小写
//dataGridView1.DataSource = bs_Customers; // DataGridView 显示
//dataGridView2.DataSource = bs_Orders;