查询表单与参数
查询表单是预览页顶部的查询条件区,把报表参数绑定为文本/下拉/日期等控件;SQL 与表达式中用 $参数名(单个 $)引用。
什么是查询表单
报表预览页顶部的"查询条件区":使用者输入条件(部门、日期范围等)后点击查询,报表按条件取数刷新。它是 报表参数 的可视化入口。
把参数绑定到控件
为每个参数选择一种控件:
| 控件 | 适用参数 | 说明 |
|---|---|---|
| 文本框 | String / Number | 关键词、编号 |
| 下拉单选 | String | 固定枚举或字典 |
| 下拉多选 | List | 多部门、多品类(SQL 用 IN) |
| 日期 | Date | 单个日期 |
| 日期区间 | Date ×2 | 起止日期 |
| 数字 | Number | 阈值 |
| 复选 / 开关 | Boolean | 是否含税等 |
下拉的数据来源
- 静态枚举:手填选项,例如把
"门诊,住院"用"门诊,住院".split(",")拆成两项。 - 数据字典 / 直连 SQL:从字典或一条 SQL 动态取选项(运行时连真库取值)。
控件配置
- 默认值:进入即带默认(如默认本月),支持静态值或表达式。
- 必填:未填不允许查询。
- 占位提示 placeholder。
- 布局:控件多时分多列、可折叠收纳。
跨字段校验
对关联参数做校验,例如结束日期不得早于开始日期;不满足时拦截并提示,避免查出空结果。
级联(联动下拉)
上级选择决定下级选项,例如先选"省"再联动出对应的"市"。
提交方式
- 点"查询"按钮触发取数(推荐,避免频繁查询)。
- 也可设为"改动即查询"。
参数怎么传到 SQL
查询表单填的值即报表参数,在 SQL 与表达式中都用 $参数名(单个 $ 前缀) 引用:
SELECT * FROM orders
WHERE order_date BETWEEN $startDate AND $endDate
AND dept IN ($depts)
完整的参数写法(可选条件、模糊查询、表达式拼接等)见 报表参数 与 数据集。
提示
- 日期控件注意时区一致(Asia/Shanghai)。
- 多选(List)参数在 SQL 中用
IN ($depts)。 - 字典 / 直连 SQL 下拉在运行时连真库取选项,注意数据源可达。