自定义条件筛选

自定义条件筛选

通过两个控件实现动态筛选:一个选择筛选维度,一个选择具体值,避免参数面板过于杂乱。

实现原理

控件组合

  • 控件1:选择筛选维度(如:地区、产品、时间等)
  • 控件2:根据选择的维度动态显示可选值

操作步骤

第一步:创建维度选择控件

  1. 拖入Label控件:显示"请选择筛选条件"
  2. 拖入下拉框控件:控件名设为 wd
  3. 设置数据字典:
    • 显示值:用户看到的名称(如"地区")
    • 实际值:数据库列名(如"area")

第二步:创建维度值控件

  1. 拖入下拉框控件:控件名设为 wdz
  2. 创建数据集"维度值":
SELECT DISTINCT ${wd} AS wd 
FROM tablename 
WHERE 1=1 
${if(len(wdz)=0, "", " AND " + wd + " LIKE '%" + wdz + "%'")}  -- 不加则不会自动模糊联想
  1. 设置数据字典:选择"维度值"数据集

第三步:主数据集筛选

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 + "%'")}  -- 防止自动联想

效果:不填内容时不查询,避免报错和性能问题

实用技巧

  • 模糊联想:支持输入关键词自动筛选
  • 控件联动:第二个控件根据第一个控件动态变化
  • 性能优化:大数据量时使用关键词筛选

使用建议

  • 适用场景:参数较多的复杂查询界面
  • 维度设计:选择用户常用的筛选维度
  • 默认值:可设置常用维度和值作为默认选项
  • 用户体验:添加提示信息,引导用户操作
posted @ 2025-06-01 18:48  灯熄帘摇月候身  阅读(31)  评论(0)    收藏  举报