GridControl主从表设置

本文详细描述了如何使用SqlConnection建立数据库连接,通过SqlDataAdapter填充数据到DataSet,并创建DataRelation实现多表之间的关系,最后将数据绑定到GridControl中展示层级结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SqlConnection conn =new SqlConnection(souce);

conn.Open();

string str ="select * from base_color";

string str2 ="select * from base_detail";

string str3 ="select * from base_three";

SqlDataAdapter da =new SqlDataAdapter(str, con);

SqlDataAdapter da2 =new SqlDataAdapter(str2, con);

SqlDataAdapter da3 =new SqlDataAdapter(str3, con);

DataSet ds =new DataSet();

a.Fill(ds, "color");

da2.Fill(ds, "detail");

da3.Fill(ds, "three");

DataRelation dr = new DataRelation("2层", ds.Tables["color"].Columns["id"],ds.Tables["detail"].Columns["color_no"]);

//设定关系,ds.color(表). Id(字段)= ds.detail. color_no

DataRelation dr2 = new DataRelation("3层", ds.Tables["color"].Columns["id"],ds.Tables["three"].Columns["color_no"]);

DataRelation dr3 = new DataRelation("4层", ds.Tables["detail"].Columns["id"],ds.Tables["three"].Columns["color_no"]);

ds.Relations.Add(dr);

ds.Relations.Add(dr2);

ds.Relations.Add(dr3);

gridControl1.DataSource = ds.Tables[0];//设定主表

使GridControl在父容器停靠,并在,gridView1下面添加另一个gridView2。其中第一为主表显示,第二个为子表显示和,注意等级帐户信息,不然不显示

DataTable dt1 = new DataTable();
            {
                dt1.Columns.Add("编号");
                dt1.Columns.Add("姓名");
                DataRow dr = dt1.NewRow();
                dr[0] = "001";
                dr[1] = "张三";
                dt1.Rows.Add(dr);
                dr = dt1.NewRow();
                dr[0] = "002";
                dr[1] = "李四";
                dt1.Rows.Add(dr);
            }
                DataTable dt2 = new DataTable();
            {
                dt2.Columns.Add("编号");
                dt2.Columns.Add("帐户金额");
                DataRow dr = dt2.NewRow();
                dr[0] = "001";
                dr[1] = "100000";
                dt2.Rows.Add(dr);
                dr = dt2.NewRow();
                dr[0] = "002";
                dr[1] = "2000000";
                dt2.Rows.Add(dr);
            }

            DataSet ds = new DataSet();
            ds.Tables.Add(dt1);
            ds.Tables.Add(dt2);
            DataRelation relation = new DataRelation("帐户信息", ds.Tables[0].Columns["编号"], ds.Tables[1].Columns["编号"]);
            ds.Relations.Add(relation);
            gridControl1.DataSource = ds.Tables[0];

多表

  DataRelation drt = new DataRelation("试验明细", dtz.Columns["yptestguid"], dtc.Columns["yptestguid"], false);
           // DataRelation drt2 = new DataRelation("试验属性", dtz.Columns["yptestguid"], dtc2.Columns["yptestguid"], false);
          //  ds.Relations.Add(drt2);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值