dev gridcontrol在分组行(grouprow)中加入checkbox 10
devgridcontrol在分组行(grouprow)中加入checkbox,想实现不同组内的所有行的全选...
dev gridcontrol在分组行(grouprow)中加入checkbox,想实现不同组内的所有行的全选
展开
1个回答
展开全部
选中GridControl,打开它的Designer的Columns界面。选择需要进行分组的Column,设置它的GroupIndex属性。(默认是-1,不进行分组。设置为0,就是第一层分组。如果有多列要进行分组,第2列设置为1,就是第二层分组了。以此类推)
设置完成后,就是如下界面了(我是按照每间房屋进行分组的,分组字段是房屋ID)。
下面就是设置分组组名,默认是显示该字段的列名。如果需要修改成自定义名称,可以在GridControl的CustomDrawGroupRow事件中进行处理(它是重新绘制分组信息的)。
private void gvwDetails_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)
{
GridGroupRowInfo GridGroupRowInfo = e.Info as GridGroupRowInfo;
GridGroupRowInfo.GroupText = "Test";
}
如果是需要进行更复杂的显示(例如我是需要显示楼盘,楼栋,房号字段的信息)。
可以使用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();
}
最后隐藏楼盘,楼栋,房号字段的显示。
设置完成后,就是如下界面了(我是按照每间房屋进行分组的,分组字段是房屋ID)。
下面就是设置分组组名,默认是显示该字段的列名。如果需要修改成自定义名称,可以在GridControl的CustomDrawGroupRow事件中进行处理(它是重新绘制分组信息的)。
private void gvwDetails_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)
{
GridGroupRowInfo GridGroupRowInfo = e.Info as GridGroupRowInfo;
GridGroupRowInfo.GroupText = "Test";
}
如果是需要进行更复杂的显示(例如我是需要显示楼盘,楼栋,房号字段的信息)。
可以使用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();
}
最后隐藏楼盘,楼栋,房号字段的显示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询