fixedBottomCell是在表格的固定下方显示的单元格内容,常用于统计汇总表格的内容,下面以员工平均薪酬为例来展示fixedBottomCell的用法。
展示页面效果如下table中置底显示对应的信息
1. 设置页面:MessageArea置顶,将PageHeader置顶输入内容放到Area中
2. 在对应的TableColumn下添加FixedBottomCell,
在fixedBottomCell中选择TableStandardCell,然后再standarCell下添加TextView控件,如下
3. button按钮设置
4. 在员工姓名输入框,增加OnEnter触发的action操作,当员工姓名输入内容执行回车,触发对应的操作。
代码处理逻辑如下:
// 员工信息初始化
wdContext.nodePerson().invalidate();
BigDecimal totalPersonSalary = BigDecimal.valueOf(0d);
for (int i = 0; i < 10; i++){
IPersonElement personEle = wdContext.nodePerson().createAndAddPersonElement();
personEle.setIndex(i+1);
personEle.setName("员工"+i);
personEle.setType("普通员工");
personEle.setSalary(getBigDecimal(BigDecimal.valueOf(Math.random()*1000+3000))); // 3000元以上薪水,小数点保留两位
totalPersonSalary = totalPersonSalary.add(personEle.getSalary());
}
wdContext.currentAvarageSalaryElement().setAvgPersonSalary(BigDecimal.valueOf(0d));
int personSize = wdContext.nodePerson().size();
if (personSize > 0){ // 如果员工个数大于0
wdContext.currentAvarageSalaryElement().setAvgPersonSalary(totalPersonSalary.divide(new BigDecimal(personSize), 2, BigDecimal.ROUND_HALF_UP));
}
public BigDecimal getBigDecimal(BigDecimal input){
DecimalFormat df = new DecimalFormat("###0.00");
return new BigDecimal(df.format(input.doubleValue()));
}