DEVEXPRESS GridControl自定义分组组名

 时间:2026-02-14 21:23:18

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

DEVEXPRESS GridControl自定义分组组名

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

DEVEXPRESS GridControl自定义分组组名

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

 private void gvwDetails_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)


       {
           GridGroupRowInfo GridGroupRowInfo = e.Info as GridGroupRowInfo;
           GridGroupRowInfo.GroupText = "Test";

    }

DEVEXPRESS GridControl自定义分组组名

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

可以使用GetDataRowHandleByGroupRowHandle方法根据组的RowHandle得到该组第一条记录在数据集中的RowHandle,然后获取该组下面记录的楼盘,楼栋,房号的字段信息。

 private void gvwDetails_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)


       {
           GridGroupRowInfo GridGroupRowInfo = e.Info as GridGroupRowInfo;
           GridView gridview = sender as GridView;
           int index = gridview.GetDataRowHandleByGroupRowHandle(e.RowHandle);
           GridGroupRowInfo.GroupText = gridview.GetRowCellValue(index, "ConstructionName").ToString()
               + gvwDetails.GetRowCellValue(index, "BuildingName").ToString()
               + gvwDetails.GetRowCellValue(index, "HouseName").ToString();
           
       }

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

DEVEXPRESS GridControl自定义分组组名

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

DEVEXPRESS GridControl自定义分组组名

  • WinForm如何设置窗体图标----C#基础教程
  • 如何在SQL Server用exec执行带参数的存储过程
  • 如何使用visual studio,打包C#项目为exe文件
  • linux明明有文件却找不到
  • ubuntu删除文件夹命令
  • 热门搜索
    qq怎么设置密保 丰田致炫怎么样 garage怎么读 附件炎怎么治疗 油条怎么做好吃又松软 孩子流鼻血怎么办 怎么训练狗 电信卡怎么样 怎么写小说赚钱 冠珠陶瓷怎么样