【发布时间】:2019-05-23 07:19:30
【问题描述】:
我正在使用 iggrid 并且我的 autoGenerateColumns: true, 是 true。每次生成的列数没有固定的。
我想使用自定义摘要来计算动态列的每一行的总和并显示在底部。
【问题讨论】:
我正在使用 iggrid 并且我的 autoGenerateColumns: true, 是 true。每次生成的列数没有固定的。
我想使用自定义摘要来计算动态列的每一行的总和并显示在底部。
【问题讨论】:
您所描述的自定义摘要是显示所有行总和的摘要,igGrid 开箱即用地支持该摘要(如果已启用摘要),并且可以通过设置 @987654321 来设置@ 和“摘要”选项中的 summary operand type to “sum”。
如果您的列包含数值,则启用“摘要”功能可以立即使用。
如果您想显示特定摘要(在您的情况下为“sum”),但您不知道列键,则可以使用 CSS 选择器隐藏其余默认摘要,例如这个:
<style>
tfoot[role='rowgroup'] tr:not([id$='_sum']) {
display: none
}
</style
如果启用了“摘要”功能,上述 CSS 将隐藏除“总和”之外的所有摘要行,我相信这是您想要做的。 请记住,这将隐藏其余的汇总操作数,有效地只留下一行汇总汇总,但它会显示所有数字列的汇总。 如果您只想显示特定列的“总和”摘要,请尝试在网格初始化后获取网格的列,方法如下:
$("#grid").igGrid("option", "columns")
这将允许您设置摘要功能的列设置,即使它已被初始化。如果您有一个键为“UnitPrice”的列,并且您想在网格初始化后禁用它的摘要,代码将如下所示:
$("#grid").igGridSummaries("option", "columnSettings", [{ columnKey: "UnitPrice", allowSummaries: false }]);
我认为在对 igGrid 进行数据绑定之前转换 API 数据,以便将日期垂直显示在不同的行上,而不是将其可视化为列,这可能是一个更好的主意——这将使您更轻松地使用摘要并求和学生缺勤的天数。
请注意,为了使用摘要功能,应在您的网格功能配置中启用它,例如:
features: [
{
name: 'Summaries'
}
]
【讨论】: