自定义条件筛选
自定义条件筛选
通过两个控件实现动态筛选:一个选择筛选维度,一个选择具体值,避免参数面板过于杂乱。
实现原理
控件组合:
- 控件1:选择筛选维度(如:地区、产品、时间等)
- 控件2:根据选择的维度动态显示可选值
操作步骤
第一步:创建维度选择控件
- 拖入Label控件:显示"请选择筛选条件"
- 拖入下拉框控件:控件名设为
wd - 设置数据字典:
- 显示值:用户看到的名称(如"地区")
- 实际值:数据库列名(如"area")
第二步:创建维度值控件
- 拖入下拉框控件:控件名设为
wdz - 创建数据集"维度值":
SELECT DISTINCT ${wd} AS wd
FROM tablename
WHERE 1=1
${if(len(wdz)=0, "", " AND " + wd + " LIKE '%" + wdz + "%'")} -- 不加则不会自动模糊联想
- 设置数据字典:选择"维度值"数据集
第三步:主数据集筛选
SELECT * FROM tablename a
WHERE 1=1
AND a.${wd} LIKE '%${wdz}%'
第四步:添加查询按钮
拖入查询按钮控件,完成配置
扩展应用
多选模式
-- 主数据集写法
AND a.${wd} IN ('${wdz}')
-- 复选框设置
-- 返回值:字符串类型
-- 分隔符:逗号 ','
-- 注意:多选不支持模糊查询
注意事项
维度值过多处理
当维度值超过1000项时,修改"维度值"数据集:
SELECT DISTINCT ${wd} AS wd
FROM tablename
WHERE 1=1
${if(len(wdz)=0, "~", " AND " + wd + " LIKE '%" + wdz + "%'")} -- 防止自动联想
效果:不填内容时不查询,避免报错和性能问题
实用技巧
- 模糊联想:支持输入关键词自动筛选
- 控件联动:第二个控件根据第一个控件动态变化
- 性能优化:大数据量时使用关键词筛选
使用建议
- 适用场景:参数较多的复杂查询界面
- 维度设计:选择用户常用的筛选维度
- 默认值:可设置常用维度和值作为默认选项
- 用户体验:添加提示信息,引导用户操作


浙公网安备 33010602011771号