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

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

3、下面就是设置分组组名,默认是显示该字段的列名。如果需要修改成自定义名称,可以在GridControl的CustomDrawGroupRow事件中进行处理(它是重新绘制分组信息的)。
private void gvwDetails_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)
{
GridGroupRowInfo GridGroupRowInfo = e.Info as GridGroupRowInfo;
GridGroupRowInfo.GroupText = "Test";
}

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();
}
最后隐藏楼盘,楼栋,房号字段的显示。

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:140
阅读量:138
阅读量:50
阅读量:23
阅读量:52