1. 概述
1.1 问题描述
希望控件的默认值不是固定的,而是根据数据库数据来动态获取。例如获取某一列中的最大值。
1.2 解决思路
使用报表类函数来获取到数据库数据,并做一些自定义的处理,作为控件默认值。
2. 示例
2.1 数据准备
1)新建普通报表
2)新建数据库查询,SQL语句:SELECT * FROM 销售总额
2.2 报表设计
1)在参数面板添加一个下拉框控件。
2)选中下拉框控件,数据字典绑定为ds1,实际值和显示值都为销售总额字段。如下图所示:
2.3 默认值设置
选中下拉框控件,在「控件设置>属性>高级>控件值」选择公式,输入以下公式:max(value("ds1",2)),如下图所示:
2.4 效果预览
点击预览,可以看到下拉框默认取到了最大值2261。
App 及 HTML5 效果如下图所示:
3.模板下载
点击下载模板:控件动态默认值.cpt
4.注意事项
除了上述方案,也可以直接在数据集中用sql取出最大值,然后控件默认值设置为数据集的该字段值即可。