跳转到内容

表格统计

本文档描述如何通过实现表格页脚的跨页数据汇总展示,跨页汇总需要提供一个汇总的接口,

数据来源

数据来源可以是 Func / Flow ,这里以 Func 为例:

interface SummaryCompany {
List<SummaryResult> execute(QCompany company);
}

该 Func 接收一个与表格查询相同的查询模型,返回 SummaryResult 。SummaryResult 是一个内置模型(或自行新建一个字段名、类型相同的模型也可以工作):

@TransientModel(name = "汇总结果")
public class SummaryResult extends RootModel<String> {
@Field
private String key;
@Field
private String value;
}

key 可以是字段名,也可以是任意自定义字符串,区别是字段名可以自动匹配表格列,而自定义字符串需要手动在视图上绑定。value 是统计内容,可以是任意字符串,会被展示在绑定的列或表格下。 界面 我们假设上述 SummaryCompany 返回数据如下:

{
"code": "111",
"total": "999"
}

页面配置

则可以配置以下统计:

<Table summaryFunc="module_SummaryCompany">
<Field name="code"/>
<!-- 全局统计 -->
<GlobalSummary>
<Summary key="total" label="数量" format="#{(value)=>`${value}个`}"/>
</GlobalSummary>
</Table>