XtraGrid支持Master-Detail展示,在自带的Demo中展示了一个“公司——产品——订单”的例子。自己照着实现了一下,有几处关键地方补充一下。

示例:

部门信息(主1)——部门下用户(从1)

|——部门管理员(从2)

设三个表:部门信息表,用户信息表,部门管理员表(部门管理员其实更应该作为部门信息表的字段,这里只是举个例子- .-)。

1. 设置XtraGrid的View及ViewCaption属性,在MainView下建立两个同级Level,每个Level分别建立View,MainView的ChildGridLevelName设置为第一个Level。

2.在Designer中新增GridColumn:

DevExpress控件XtraGrid的Master-Detail用法  z-LMLPHP

DevExpress控件XtraGrid的Master-Detail用法  z-LMLPHP

DevExpress控件XtraGrid的Master-Detail用法  z-LMLPHP

建好的GridColumn分别设置Caption和FieldName属性。GridColumn的FieldName与DataSet中的Table列一致。

3.DataSet的配置如下:

DevExpress控件XtraGrid的Master-Detail用法  z-LMLPHP

为主表和从表建立Relation。注意relation的名字即为上述GridView之Level名。

4.为xtraGrid设置DataSource:

DevExpress控件XtraGrid的Master-Detail用法  z-LMLPHP

5.测试数据放在了Excel中:

DevExpress控件XtraGrid的Master-Detail用法  z-LMLPHP

6.读取数据,Merge到DataSet中,最后结果如下:

DevExpress控件XtraGrid的Master-Detail用法  z-LMLPHP

DevExpress控件XtraGrid的Master-Detail用法  z-LMLPHP

05-11 12:49