文档首页 / 查询表单控件

查询表单控件

逐个介绍查询表单的 14 种控件:可绑定的参数类型、属性面板中的全部属性、取值形态与使用限制。

概述

「查询表单设计」的组件库共 14 种控件。除「文本」「查询按钮」「重置按钮」外,每个控件都要绑定一个报表参数,且参数类型必须在该控件支持的范围内,否则「绑定参数」下拉里看不到该参数,点击对话框「确定」时也会被拦下。

选项类控件(下拉框、多选下拉、单选组、复选组)的选项来源和联动见 下拉选项来源与联动。

控件与参数类型对应表

控件 组件库名称 可绑定的参数类型 提交的值
文本 文本 不绑定 无,仅显示文字
输入框 输入框 字符串、数值 文本
数值框 数值框 数值 数字
下拉框 下拉框 字符串、数值 单个选项值
多选下拉 多选下拉 集合、字符串 集合绑集合参数为数组;绑字符串参数时为逗号分隔的字符串
树形下拉 树形下拉 字符串、数值、集合 单选为单个值,多选见下文
日期框 日期框 随「选择类型」而定,见下文 按「提交格式」的日期字符串
日期范围 日期范围 字符串 起、止两个参数,见下文
单选组 单选组 字符串、数值、布尔值 单个选项值
复选组 复选组 集合、布尔值 选项值数组
开关 开关 布尔值 true / false
搜索选择 搜索选择 随「选择模式」而定,见下文 单值或多值
查询按钮 查询按钮 不绑定 无
重置按钮 重置按钮 不绑定 无

参数类型的中文名对应关系:字符串 String、数值 Number、布尔值 Boolean、日期 Date、日期时间 DateTime、集合 List。

所有控件的通用属性

选中控件后,右侧「组件属性」面板按分区展示。

基本信息

属性 说明 取值/默认值
组件标签 控件左侧显示的名称,必填 文本;文本、按钮类控件无此项
绑定参数 控件绑定的报表参数 下拉选择,仅列出类型兼容的参数;右侧设置图标可打开「报表参数配置」

组件属性中的通用项

属性 说明 取值/默认值
占位符 控件为空时的提示文字 仅输入框、数值框、下拉框、多选下拉、日期框提供
是否必填 点击「查询」时检查该控件是否已填 开关,默认关
是否禁用 禁用后使用者不能修改控件的值 开关,默认关

样式配置

属性 说明 取值/默认值
显示标签 是否显示控件标签 开关
标签宽度 标签占用的宽度 如 80px
标签位置 标签在控件的左侧或右侧 左侧、右侧

位置信息

属性 说明 取值/默认值
X坐标、Y坐标 控件在画布上的位置 px,不小于 0
宽度 控件宽度 px,有各控件的最小宽度
高度 控件高度 px,不小于 30

各控件的专有属性

文本

属性 说明 取值/默认值
文本内容 显示的文字,多行输入框 默认「文本内容」

输入框

属性 说明 取值/默认值
多行输入 开启后变为多行文本框 开关
行数 多行时的行数,仅开启多行输入后出现 1 到 10

数值框

属性 说明 取值/默认值
最小值 允许输入的下限 数字,不设则不限
最大值 允许输入的上限 数字,不设则不限
数值精度 小数位数 0 到 10;新建控件默认 2
步长 点击加减按钮的增量 不小于 0.01;未设置时按 1

日期框

属性 说明 取值/默认值
选择类型 日期、日期时间、年份、年月、时间 默认「日期」
日期格式 控件上的显示格式,可从预设选择,也可直接输入自定义格式 见下表
提交格式 提交给参数的格式,仅「年份」「年月」类型出现 默认与日期格式相同

格式统一使用小写标记 yyyy、MM、dd、HH、mm、ss。各选择类型的默认格式与预设:

选择类型 可绑定的参数类型 默认格式 预设格式
日期 日期、日期时间、字符串 yyyy-MM-dd yyyy-MM-dd、yyyy/MM/dd、yyyyMMdd、yyyy年MM月dd日、MM/dd/yyyy、dd-MM-yyyy、MM-dd-yyyy
日期时间 日期时间、字符串 yyyy-MM-dd HH:mm:ss yyyy-MM-dd HH:mm:ss、yyyy-MM-dd HH:mm、yyyy/MM/dd HH:mm:ss、yyyy/MM/dd HH:mm、yyyyMMdd HH:mm:ss、yyyy年MM月dd日 HH:mm:ss、yyyy年MM月dd日 HH:mm
年份 字符串 yyyy yyyy、yyyy年
年月 字符串 yyyy-MM yyyy-MM、yyyy/MM、yyyyMM、yyyy年MM月
时间 字符串 HH:mm:ss HH:mm:ss、HH:mm

年份、年月、时间只能绑定字符串参数,面板会提示「建议绑定 String 类型参数」。控件宽度太窄时,运行时会自动隐藏日期框的清空按钮。

日期范围

一个控件同时写入起、止两个参数,适合按月或按日筛选统计区间。控件左侧是快捷项,右侧是双日历。

属性 说明 取值/默认值
绑定参数 接收起始日期,字符串类型 必选
粒度 按天或按月 按天、按月;新建控件默认按月
止参数 接收结束日期的参数,字符串类型 不配置则只写起始参数
粒度参数 额外下发一个「按天还是按月出趋势」的参数名,如 p_grain 不配置则不下发;见下文
快捷项 面板左侧显示哪些快捷项 不改动时显示该粒度下全部
最长跨度 起止之间最多允许的天数或月数(含首尾) 正整数,留空不限;单位随粒度为「天」或「个月」
默认区间 使用者没选过时采用的快捷项 新建控件默认「近 12 个月」;清空则首屏不筛选

取值形态:

  • 起始值、结束值按粒度提交为 yyyy-MM-dd(按天)或 yyyy-MM(按月),按月时「止」也是所选月份,而不是月末。
  • 数据集 SQL 里用起止两个参数:
WHERE 日期 BETWEEN ${$p_start} AND ${$p_end}
  • 使用者没选、也没有默认区间时,起、止参数都不下发。
  • 「粒度参数」下发的值:按月粒度恒为 month;按天粒度时,起止跨度(含首尾)不超过 31 天为 day,否则为 month。
  • 面板上算出的区间超过「最长跨度」的快捷项不会显示。选择的区间(包括默认区间)超过最长跨度时,点击「查询」被拦截,报表区域提示「控件标签最长 N 个月」(按天粒度为「N 天」)。

内置快捷项,按粒度过滤后显示:

快捷项 可用粒度
今天、昨天、近 7 天、近 30 天 仅按天
本月、上月、近 3 个月、近 6 个月、近 12 个月、本季度、上季度、今年、去年 按天、按月

按月粒度下,「本月」是当月,「近 N 个月」是含当月的最近 N 个月。

树形下拉

「树形配置」分区的属性:

属性 说明 取值/默认值
最大层级 树的最大层级数 1 到 10,新建默认 3
数据来源 自定义或数据集 自定义、数据集
选择模式 单选或多选 单选、多选;新建默认单选
值类型 多选时值的形态,仅多选出现 数组、字符串;新建默认数组
分隔符 值类型为字符串时的分隔符 如 ,
折叠标签数 多选时最多直接显示几个标签,其余折叠为「+N」 1 到 50,默认 1
父子独立 多选时勾选父节点是否联动子节点 开关
仅选叶子 只允许选择叶子节点 开关
可清空 是否显示清空按钮 开关
可搜索 是否可输入关键字过滤 开关

数据来源为「自定义」时,点「编辑树形数据」打开「树形数据编辑」对话框,用「添加根节点」「全部展开」「全部收起」维护节点。数据来源为「数据集」时:

属性 说明
数据集 提供树节点的数据集
显示字段 节点显示的文字字段
值字段 节点的取值字段
数据结构 「扁平结构」或「嵌套结构」
ID字段、父ID字段 扁平结构时,用 ID 与父 ID 组树
子节点字段 嵌套结构时,存放子节点的字段

多选树的下拉面板顶部有「全选」「反选」「清空」和「已选 x / y」计数。

注意:设计器不提供树形下拉的懒加载配置。

多选下拉

选项配置见 下拉选项来源与联动。专有属性:

属性 说明 取值/默认值
折叠标签数 控件保持单行,超出该数量的已选项折叠为「+N」,悬停可查看全部 1 到 50,默认 1;调大会让控件变高

下拉面板顶部有「全选」「反选」「清空」和「已选 x / y」计数;输入关键字搜索后,这三个按钮只作用于当前过滤出的选项。选项用虚拟滚动渲染,选项很多时也只渲染可见的行。

下拉框、单选组、复选组

这三个控件除了通用属性外只有选项配置,见 下拉选项来源与联动。复选组可绑定集合、布尔值参数,单选组可绑定字符串、数值、布尔值参数。

开关

开关只有通用属性中的「是否必填」「是否禁用」。绑定布尔值参数,提交 true / false;绑定字符串或数值参数时,SQL 里的布尔比较不会成立,因此设计器只允许绑布尔值参数。

搜索选择

适合医生、药品、患者等数据量大的字典:点开弹窗,输入关键字搜索,在分页表格中勾选记录,并可把整行的其他字段带回别的参数。

属性 说明 取值/默认值
SQL数据集 提供记录的数据集,只能选 SQL 数据集 必选
关键字占位 弹窗里搜索框和控件的提示文字 新建默认「请输入关键字」
弹窗标题 弹窗标题 新建默认「选择记录」
值字段 提交给参数的字段 必选;未选时运行时弹窗查不到任何记录
显示字段 控件中显示的字段 必选
服务端筛选 关键字与分页下推到数据库执行 默认开;仅对报表模板内定义的 SQL 数据集生效,公共数据集、存储过程、SQL Server 自动回落为内存过滤
选择模式 单选或多选 单选、多选
值类型 多选时提交数组还是字符串 数组、字符串
分隔符 值类型为字符串时的分隔符 半角逗号 ,、全角逗号 ,、顿号 、,只能选这三个
每页条数 弹窗表格每页条数 5 到 100,新建默认 10
搜索列 关键字匹配哪些列 可添加多列;不配置则匹配可见列
显示列 弹窗表格中的列及列标题 至少添加一列,否则弹窗表格没有列;列标题默认同字段名
字段映射 选中记录后,把源字段的值写回目标参数 每项为「源字段 → 目标参数」
清空联动 清空控件时是否同时清空映射写回的参数 开关

可绑定的参数类型随选择模式变化:单选绑字符串或数值;多选且值类型为数组时只能绑集合;多选且值类型为字符串时只能绑字符串。多选数组配合集合参数时,SQL 里写 IN (${$参数名}),占位符会按选中的个数展开。

选择模式为多选时,字段映射的结果跟随值类型:数组模式写回数组,字符串模式按分隔符拼接。

弹窗中的操作:输入关键字后按回车或点「搜索」;单选时点击一行后点「确定」;多选时勾选多行,可点「清空已选」,再点「确定」。

查询按钮与重置按钮

两个按钮没有可配置的属性,按钮文字固定为「查询」「重置」,行为见 查询表单概述。

示例

用日期范围控件做「近 12 个月各科室收入」的筛选:

  1. 「查询参数设置」中添加两个字符串参数 p_start、p_end。
  2. 「查询表单设计」中添加「日期范围」控件,「绑定参数」选 p_start,「止参数」选 p_end,「粒度」选「按月」,「默认区间」保持「近 12 个月」,「最长跨度」填 24。
  3. 新建 SQL 数据集,数据源选 demo(系统初始化时自动导入演示数据所用的数据源,本例要求演示数据已导入),SQL 使用 demo_销售订单 表的 年月 列(格式 yyyy-MM 的文本,演示数据内置):
SELECT 所在大区, SUM(订单金额) AS 金额
FROM demo_销售订单
WHERE 年月 BETWEEN ${$p_start} AND ${$p_end}
GROUP BY 所在大区
  1. 保存并预览。打开报表即按默认区间查询;改选区间超过 24 个月时,点击「查询」被拦截,提示「日期范围最长 24 个月」(提示中的名称取控件的「组件标签」)。

提示:演示表 demo_销售订单 的数据范围为 2023 至 2025 年,默认区间「近 12 个月」以当前系统日期计算,可能落在数据范围之外;此时改选 2024 年内的月份即可看到数据。

注意事项

注意:控件类型与参数类型不兼容时无法保存。例如日期范围只能绑字符串参数,因为月份没有对应的日期形态。

注意:搜索选择的「值字段」未选时,弹窗查不到任何记录;设计器只给出提示,不会阻止保存。

注意:多选值绑定字符串参数时以逗号拼接,值本身含逗号会被拆开。需要精确传值时绑集合参数。

相关文档

联系我们

请填写您的信息,我们将在 1 个工作日内与您联系。