GridControl分组之后按组显示明细序号

GridControl分组之后按组显示明细序号

1. GirdControl分组功能大家都很熟悉了,只需要设置一下列属性GroupIndex即可。

GroupIndex属性
分组之后,可以通过gridView的CustomDrawGroupRow事件,自定义组标题行的显示效果。

 private void gridView1_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)
 {
 	//获取分组行信息。
	GridGroupRowInfo info = e.Info as GridGroupRowInfo;
	//显示内容赋值
	info.GroupText = info.EditValue.ToString();
 }

默认传入的事件对象内容比较少,可能无法满足你的个性化显示需求,那么可以通过以下方法获取更多信息。

2. GridControl显示自增序号。

设置GridView的属性ShowIndicator为True,设置IndicatorWidth=40。
ShowIndicator

通过GridView的CustomDrawRowIndicator实现。

private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
{
	if(e.RowHandle>=0)
	{
    	e.Info.DisplayText = (e.RowHandle + 1).ToString();
    }
}

3. 如果想要实现先分组,再按分组显示明细序号,如何实现?

		private void gridView1_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)
        {
            //获取分组行信息。
            GridGroupRowInfo info = e.Info as GridGroupRowInfo;
            //显示内容赋值
            info.GroupText = info.EditValue.ToString();

            //获取分组下面的子记录数
            int rowCount = gridView1.GetChildRowCount(e.RowHandle);
            //循环给子记录赋值
            for (int i = 0; i < rowCount; i++)
            {
                int childRowHandle = gridView1.GetChildRowHandle(e.RowHandle, i);
                ItemObject item = gridView1.GetRow(childRowHandle) as ItemObject;
                item.Mxxh = i+1;   
            }
        }
        private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
        {
            //if(e.RowHandle>=0)
            //{
            //    e.Info.DisplayText = (e.RowHandle + 1).ToString();
            //}
            if(e.Info.Kind == DevExpress.Utils.Drawing.IndicatorKind.Row)
            {
                if(e.RowHandle<0)
                {
                    object groupRowValue = gridView1.GetGroupRowValue(e.RowHandle);
                    e.Info.DisplayText = "组:" + (groupRowValue == null ? "" : groupRowValue.ToString());
                }
                else
                {
                    ItemObject item = gridView1.GetRow(e.RowHandle) as ItemObject;
                    e.Info.DisplayText = item.Mxxh.ToString();
                }
            }
        }

效果如图所示
分组显示明细序号
完整代码示例,见附件。
GridControl分组显示明细序号

### 回答1: GridControlDevExpress控件库中的一个组件,用于显示和管理大量数据。其中的分组统计功能可以将数据按照某个字段进行分组,并显示对应的统计结果。 首先,在GridControl的数据源中,需要有一个特定的字段用于分组。可以通过设置GridColumn的GroupIndex属性来指定哪些列需要进行分组,多个列可以形成多级分组。 其次,在GridControl中启用分组统计功能需要设置其OptionsView属性的ShowGroupPanel为true,这样在GridControl的上方会出现一个分组面板,用于用户选择分组的字段。 当用户在分组面板中选择某个字段进行分组后,GridControl会按照这个字段对数据进行分组,并在每个分组下方显示统计结果。统计结果可以包括计数、求和、平均值、最大值、最小值等。 此外,还可以通过设置GridColumn的SummaryItem属性来自定义每个列的统计方式,比如显示总计、平均值等。 同时,可以通过设置GridControl的OptionsView属性的GroupFooterShowMode来控制统计结果的显示方式,可以选择每个分组显示统计结果、展开全部统计结果或者仅显示总计。 总之,GridControl分组统计功能可以方便地对大量数据按照某个字段进行分组,并显示对应的统计结果,提供了灵活的配置选项,使用户能够根据实际需求进行定制。 ### 回答2: GridControl是一种常见的表格控件,用于显示和编辑数据。它提供了丰富的功能,包括分组统计。 分组统计是指将相同数据项按照某一列进行分组,并统计每个组内的数据总和、平均值等。GridControl可以通过以下步骤实现分组统计: 1. 设置数据源:首先,需要将数据源与GridControl关联起来。可以使用DataTable或其他数据源方式,将数据赋值给GridControl的DataSource属性。 2. 设置分组字段:可以通过GridControlGroupBy属性来设置分组字段。将需要进行分组的字段名称赋值给GroupBy属性,多个字段使用逗号隔开。 3. 设置统计方式:可以通过GridControl的SummaryFooter属性设置统计方式。可以选择常用的统计方式,如Sum、Avg、Count等,并指定需要统计的字段。 4. 设置展示样式:可以通过GridControl的Appearance属性设置分组展示的样式。例如,可以设置每个分组的表头显示为加粗、背景色不同等。 通过以上步骤,GridControl会根据设置的分组字段对数据进行分组,并在每个分组的底部显示相应的统计信息。用户可以通过点击分组的表头,展开或折叠分组,查看或隐藏各个分组的详细数据。 GridControl分组统计功能可以帮助用户进行数据分析和数据展示,提高数据处理的效率和可视化效果。同时,还可以通过自定义的方式来实现更加复杂的分组统计需求,满足个性化的数据处理要求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值