表格统计
本文档描述如何通过实现表格页脚的跨页数据汇总展示,跨页汇总需要提供一个汇总的接口,
数据来源
数据来源可以是 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>