本主题描述分组模式和自定义分组功能,此功能允许改变默认的分组逻辑。 关于分组的总说明,请参阅 分组概述 文档。
注意 |
|---|
在 服务器模式 中,不支持分组模式和自定义分组。 在这种模式中,始终根据分组列的取值对行进行分组。 |
分组模式
在默认情况下,当按照包含了日期/时间值的列进行分组时,只有取值的日期部分参与分组,时间部分被忽略。 因此,在分组列中包含匹配日期部分的行 (但时间部分不同) 被组合为一个组。 对于分组列包含其他数据类型的情况,默认的分组逻辑是简单明了的: 在分组列中有匹配值的行被组合为一个组。 在这种情况下,视图中分组的数目与分组列中唯一值的数目相匹配。
在特定情况下,可能需要改变分组逻辑,特别是列包含了日期/时间值时。 例如,按照日期/时间值的年份或月份把对行进行分组,或者实现 Outlook 样式的分组 (组合为:“Today”、“Tomorrow”、“Sunday”、“Monday”、“Tuesday”等)。 要改变分组模式,则使用列的 GridColumn.GroupInterval 属性。 ColumnGroupInterval 主题描述了可用的分组模式。 在下面的插图中,Received 列的 GroupInterval 属性值设置为 ColumnGroupInterval.DateRange,因此日期按照 Outlook 样式进行分组:
在本例中,分组行的绘制样式已经通过 GridOptionsView.GroupDrawMode 属性定制。
自定义分组
如果 GridColumn.GroupInterval 属性提供的分组模式不符合需求,则可以以自定义的方式对行进行分组。 自定义分组功能允许为分组行实现自定义逻辑。例如,根据特定列的取值,行可以被组合到区间中。
要实现自定义分组算法,则接管 GridView.CustomColumnGroup 事件。 当列的 GridColumn.SortMode 属性值设置为 ColumnSortMode.Custom,并且视图的数据按照该列分组时,此事件发生。
请参阅 GridView.CustomColumnGroup 主题获得更多信息和示例。
注意 