DEVEXPRESS GridControl自定义分组组名

DEVEXPRESSGridControl自定义分组组名

在使用DEV控件库中的gridcontrol时,有时候会用到它的分组功能,它提供了强大方便的分组功能,设置起来比较简单。后面会介绍自定义组名方法。

选中GridControl,打开它的Designer的Columns界面。选择需要进行分组的Column,设置它的GroupIndex属性。(默认是-1,不进行分组。设置为0,就是第一层分组。如果有多列要进行分组,第2列设置为1,就是第二层分组了。以此类推)

设置完成后,就是如下界面了(我是按照每间房屋进行分组的,分组字段是房屋ID)。

下面就是设置分组组名,默认是显示该字段的列名。如果需要修改成自定义名称,可以在GridControl的CustomDrawGroupRow事件中进行处理(它是重新绘制分组信息的)。

privatevoidgvwDetails_CustomDrawGroupRow(objectsender,DevEx press.XtraGrid.Views.Base.RowObjectCustomDrawEventArgse){GridGr oupRowInfoGridGroupRowInfo=https://www.360docs.net/doc/de18669668.html,asGridGroupRowInfo;GridGroupRo wInfo.GroupText="Test";

如果是需要进行更复杂的显示(例如我是需要显示楼盘,楼栋,房号字段的信息)。

可以使用GetDataRowHandleByGroupRowHandle方法根据组的RowHandle得到该组第一条记录在数据集中的RowHandle,然后获取该组

下面记录的楼盘,楼栋,房号的字段信息。

privatevoidgvwDetails_CustomDrawGroupRow(objectsender,DevEx press.XtraGrid.Views.Base.RowObjectCustomDrawEventArgse){GridGr oupRowInfoGridGroupRowInfo=https://www.360docs.net/doc/de18669668.html,asGridGroupRowInfo;GridViewgri dview=senderasGridView;intindex=gridview.GetDataRowHandleByGrou pRowHandle(e.RowHandle);GridGroupRowInfo.GroupText=gridview.Get RowCellValue(index,"ConstructionName").ToString()+gvwDetails.Ge tRowCellValue(index,"BuildingName").ToString()+gvwDetails.GetRo wCellValue(index,"HouseName").ToString();}

最后隐藏楼盘,楼栋,房号字段的显示。

之所以会这样处理,是因为分组RowHandle与数据RowHandle关系如下。

相关文档
最新文档