DEVEXPRESS GridControl自定义分组组名

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

方法/步骤

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

    DEVEXPRESS GridControl自定义分组组名



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

  3. DEVEXPRESS GridControl自定义分组组名

  4. 下面就是设置分组组名,默认是显示该字段的列名。如果需要修改成自定义名称,可以在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自定义分组组名

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

    可以使用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自定义分组组名


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

    DEVEXPRESS GridControl自定义分组组名

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值