组织模板
在应用数据分组时,组行有助于将数据行组织成树结构。
有关可运行示例,请参阅网格中模板的演示。
组行包含展开和折叠组图标,该图标使最终用户能够展开和折叠组行,从而显示或隐藏其子行。组行的主要特性之一是显示组摘要值。Grid提供了三种不同的模板,可用于自定义组行的外观:
ClientGroupHeaderTemplate
-呈现将显示整个组行的模板。通常,主要目的是展示整个群体的信息。缺省情况下,如果没有定义模板,则显示字段名和当前组值。ClientGroupHeaderColumnTemplate
-在与列本身对齐的组行中呈现模板。通常,它用于显示当前组上下文中特定列的聚合值。从视觉上看,模板内容与列本身对齐。该功能在R3 2018版本中引入。ClientGroupFooterTemplate
-在与列对齐的组页脚行中呈现模板。它的工作原理和ClientGroupHeaderColumnTemplate
用于组页脚行。
如果没有定义模板,则按如下方式显示字段名和当前组。
唯一的区别在于使用ClientGroupHeaderTemplate
编译并显示模板内容,而不是字段和当前组值。
这两个ClientGroupHeaderColumnTemplate
和ClientGroupFooterTemplate
以类似的方式工作。ClientGroupHeaderColumnTemplate
显示与组行中的列对齐的内容。ClientGroupFooterTemplate
显示与组页脚行中的列对齐的内容。它们的内容以与列对齐的方式显示,如下所示。
因为ClientGroupHeaderTemplate
显示在组行的展开图标旁边,它优先于ClientGroupHeaderColumnTemplate
第一个可见列的。如果你想展示ClientGroupHeaderColumnTemplate
内容为网格的第一列时,不要设置ClientGroupHeaderTemplate
对于组列。下面的网格配置显示注释ClientGroupHeaderTemplate
为库存单位列显示ClientGroupHeaderColumnTemplate
为产品名称列。
@(Html.Kendo().Grid() . name ("Grid") . columns (columns => {columns。bind (p => p. productname) .ClientGroupHeaderColumnTemplate("Count: #= Count #");列。bind (p => p. unitprice).Format("{0:C}");列。(p => p. unitsonorder);列。(p => p. unitsinstock);/ /。ClientGroupHeaderTemplate("Min: #= Min #");}) . pageable () . sortable () . dataSource (dataSource => dataSource . ajax () . aggregs (aggregs => {aggregs . ajax})。Add(p => p. unitsinstock).Min(); aggregates.Add(p => p.ProductName).Count(); }) .Group(groups => groups.Add(p => p.UnitsInStock)) .Read(read => read.Action("Aggregates_Read", "Grid")) ) )
在服务器绑定场景中,可以设置组模板,而不需要客户端
前缀,GroupHeaderTemplate
,GroupHeaderColumnTemplate
,GroupFooterTemplate
。有关更多信息,请参考服务器聚合网格。