1.基本功能 1.基本功能
1.1.表格字段统计 1.1.表格字段统计
表格的汇总是后台的汇总,汇总的是所有记录的值,新表格的汇总是前端汇总,汇总的是当前页面的值。表格字段统计体现在表格上有合计列。表格字段统计只针对数字类型的字段,新旧表格配置方式一样。
2.配置方法 2.配置方法
2.1.表格字段统计 2.1.表格字段统计
表格字段的数据类型必须为数字,新旧表格配置方式一样。
配置
- 对象建模–业务对象–业务对象管理:编辑业务对象,点击【可视化布局】按钮,进入到可视化界面。选择表格中字段,字段的【控件类型】为:数字文本框。勾选【汇总】字段。
- 提交业务对象,生成代码。
代码
旧表格前端界面的代码
<g-footer-cell colspan="1">合计</g-footer-cell>
<g-footer-cell colspan="1">{{moreAttrs.testCaseValue |number:3 }}</g-footer-cell>
旧表格类文件控制器中TestLixq301DbController.java
中queryByMyBatis
方法增加如下
if(pageRequest.isSum())
{
if(StringUtils.isNullBlank(gridKey))
gridKey = "default_0";
Map<String,Object> sum = Maps.newHashMap();
BigDecimal total = new BigDecimal(0L);
if(StringUtils.equals(gridKey,"9909ac63-c03c-48cb-8269-bcab42e23fcb_0")) {
//1 testCaseValue
verifyPropertyTypeNum(TestLixq301Db.class, "testCaseValue");
sum.put("testCaseValue",new BigDecimal(0L));
List<TestLixq301Db> sumRecords = null;
if(testLixq301Dbs.size() > 0){
sumRecords = testLixq301DbService.findSumRecord(example,gridKey);
}
if(sumRecords != null && sumRecords.size()> 0){
TestLixq301Db testLixq301DbSumCarrier = sumRecords.get(0);
if(testLixq301DbSumCarrier != null){
//1 testCaseValue
sum.put("testCaseValue",new BigDecimal(String.valueOf(testLixq301DbSumCarrier.getTestCaseValue()!=null ? testLixq301DbSumCarrier.getTestCaseValue() : "0")));
total = total.add(new BigDecimal(String.valueOf(testLixq301DbSumCarrier.getTestCaseValue()!=null ? testLixq301DbSumCarrier.getTestCaseValue() : "0")));
}
}
}
sum.put("total",total);
result.put("moreAttrs", sum);
}
新表格前端界面的代码
<g-hot-table ng-cloak data-source-name="employeeSource">
<g-hot-column data="age" title="年龄" summary="sum"></g-hot-column>
</g-hot-table>