devexpress gridcontrol gridview嵌套问题(WINFORM)
看了里面的demo,完全不知道怎么下手,它代码基本没有注释,累死。首先是前面那个+怎么绑定到那个单元格里面?其次就是怎么做到那种出现嵌套效果。我的数据都在datatabl...
看了里面的demo,完全不知道怎么下手,它代码基本没有注释,累死。
首先是前面那个+怎么绑定到那个单元格里面?
其次就是怎么做到那种出现嵌套效果。
我的数据都在datatable里,数据怎么绑定进去。
各位高手帮帮忙啊。
我已经做了主从关系,有个+号了,可以打开+号不是折叠状态,而是内容一下子显示出来,究竟还差哪一步啊???? 展开
首先是前面那个+怎么绑定到那个单元格里面?
其次就是怎么做到那种出现嵌套效果。
我的数据都在datatable里,数据怎么绑定进去。
各位高手帮帮忙啊。
我已经做了主从关系,有个+号了,可以打开+号不是折叠状态,而是内容一下子显示出来,究竟还差哪一步啊???? 展开
2个回答
展开全部
显示相关表
如果数据集中包含有主从表,并定义了主从关系。在这种情况下,将主表绑定到gridview中,在网格中可以通过主表的记录定位到其相关的从表的记录。
string cnStr="Data Source=(local);Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123";
SqlConnection cn = new SqlConnection(cnStr);
string sqlStr = "select * from Customers";
SqlDataAdapter da = new SqlDataAdapter(sqlStr, cn);
DataSet ds = new DataSet();
da.Fill(ds, "Customers");
sqlStr = "select * from Orders";
da = new SqlDataAdapter(sqlStr, cn);
da.Fill(ds, "Orders");
//建立主从关系
DataRelation dr = new DataRelation("Customer_Order", ds.Tables["Customers"].Columns["CustomerID"], ds.Tables["Orders"].Columns["CustomerID"]);
ds.Relations.Add(dr);
dataGrid1.SetDataBinding(ds, "Customers"); //绑定到控件
对dataGridView控件 显示上述效果的方法暂时没找到。可以定义2个dataGridView,通过DataGridView控件和BindingSource 组件的交互作用来实现主从表单是非常简单的。
BindingSource masterBindingSource = new BindingSource();
BindingSource detailsBindingSource = new BindingSource();
dataGridView1.DataSource = masterBindingSource;
dataGridView2.DataSource = detailsBindingSource;
string cnStr="Data Source=(local);Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123";
SqlConnection cn = new SqlConnection(cnStr);
string sqlStr = "select * from Customers";
SqlDataAdapter da = new SqlDataAdapter(sqlStr, cn);
DataSet ds = new DataSet();
da.Fill(ds, "Customers");
sqlStr = "select * from Orders";
da = new SqlDataAdapter(sqlStr, cn);
da.Fill(ds, "Orders");
DataRelation dr = new DataRelation("Customer_Order", ds.Tables["Customers"].Columns["CustomerID"], ds.Tables["Orders"].Columns["CustomerID"]);
ds.Relations.Add(dr);
masterBindingSource.DataSource = ds;
masterBindingSource.DataMember = "Customers";
detailsBindingSource.DataSource = masterBindingSource;
detailsBindingSource.DataMember = "Customer_Order";
对gridView控件 具体效果没试过 不太清楚
如果数据集中包含有主从表,并定义了主从关系。在这种情况下,将主表绑定到gridview中,在网格中可以通过主表的记录定位到其相关的从表的记录。
string cnStr="Data Source=(local);Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123";
SqlConnection cn = new SqlConnection(cnStr);
string sqlStr = "select * from Customers";
SqlDataAdapter da = new SqlDataAdapter(sqlStr, cn);
DataSet ds = new DataSet();
da.Fill(ds, "Customers");
sqlStr = "select * from Orders";
da = new SqlDataAdapter(sqlStr, cn);
da.Fill(ds, "Orders");
//建立主从关系
DataRelation dr = new DataRelation("Customer_Order", ds.Tables["Customers"].Columns["CustomerID"], ds.Tables["Orders"].Columns["CustomerID"]);
ds.Relations.Add(dr);
dataGrid1.SetDataBinding(ds, "Customers"); //绑定到控件
对dataGridView控件 显示上述效果的方法暂时没找到。可以定义2个dataGridView,通过DataGridView控件和BindingSource 组件的交互作用来实现主从表单是非常简单的。
BindingSource masterBindingSource = new BindingSource();
BindingSource detailsBindingSource = new BindingSource();
dataGridView1.DataSource = masterBindingSource;
dataGridView2.DataSource = detailsBindingSource;
string cnStr="Data Source=(local);Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123";
SqlConnection cn = new SqlConnection(cnStr);
string sqlStr = "select * from Customers";
SqlDataAdapter da = new SqlDataAdapter(sqlStr, cn);
DataSet ds = new DataSet();
da.Fill(ds, "Customers");
sqlStr = "select * from Orders";
da = new SqlDataAdapter(sqlStr, cn);
da.Fill(ds, "Orders");
DataRelation dr = new DataRelation("Customer_Order", ds.Tables["Customers"].Columns["CustomerID"], ds.Tables["Orders"].Columns["CustomerID"]);
ds.Relations.Add(dr);
masterBindingSource.DataSource = ds;
masterBindingSource.DataMember = "Customers";
detailsBindingSource.DataSource = masterBindingSource;
detailsBindingSource.DataMember = "Customer_Order";
对gridView控件 具体效果没试过 不太清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询