DevExpress gridcontrol gridView主从表折叠/展开显示

在使用报表的时候,有很多需要主从表一起显示,从表不需要另外弹窗显示明细,反而直接显示在主表下方。如图所示:

该效果的实现代码如下:
//主表
//调用存储过程获取数据源,sp是存储过程参数,存储过程内返回两个table,一个是主表数据,一个是从表数据
DataSet mainDS = Common.SqlHelper.ExecuteDataset(Common.SqlHelper.connString, CommandType.StoredProcedure, "BalanceInformation", sp);
DataTable mainDT = mainDS.Tables[0];
mainDT.TableName = "Main";
DataSet detailDS = new DataSet();
if (mainDT.Rows.Count > 0)
{
//子表

        DataTable detailDT = mainDS.Tables[1];
        detailDT.TableName = "Detail";
        mainDS.Tables.Remove(detailDT);
        mainDS.Tables.Add(detailDT);
    }

    //设定关系,ds.a(表).MainId(字段)=ds.b(表).MainId
    DataRelation dr = new DataRelation("明细", mainDS.Tables["Main"].Columns["MainId"], mainDS.Tables["Detail"].Columns["MainId"]);

    mainDS.Relations.Add(dr);

    //绑定数据源
    dt = mainDS.Tables["Main"];
    gridControl1.DataSource = dt;

猜你喜欢

转载自www.cnblogs.com/mooncake-wong/p/9705352.html