反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

多选下拉树实现多值查询

  • 文档创建者:zsh331
  • 历史版本:9
  • 最近更新:Scyalcire 于 2020-12-21
  • 1. 概述

    1.1 应用场景

    下拉树中分别有 地区,省份,城市 指标,如果想实现同时选择查询出多个城市的数据,如何实现呢?如下图所示:

    222

    1.2 实现思路

    我们可以通过帆软内置的 REPLACE() 和 SUBSTITUTE() 函数来实现。

    1)REPLACE()

    REPLACE(text, texttoreplace, replacetext):根据指定字符串,用其他文本来代替原始文本中的内容。

    • text:需要被替换部分字符的文本或单元格引用。

    • texttoreplace:指定的字符串或正则表达式。

    • replacetext:需要替换部分旧文本的文本。 

    2)SUBSTITUTE()

    SUBSTITUTE(text,old_text,new_text,instance_num):用 new_text 替换文本串中的 old_text。

    • Text:需要被替换字符的文本,或含有文本的单元格引用。 

    • Old_text:需要被替换的部分文本。 

    • New_text:用于替换 old_text 的文本。 

    • Instance_num:指定用 new_text 来替换第几次出现的 old_text。

    注1:如果指定了 instance_num,则只有指定位置上的 old_text被替换,否则文字串中出现的所有 old_text 都被 new_text 替换。 

    注2:如果需要替换文本串中的指定文本,则使用 SUBSTITUTE 函数;如果需要替换文本串中指定位置上的任意文本,则使用 REPLACE 函数。

    2. 示例

    2.1 模板设计

    2.1.1 数据准备

    新建报表,添加数据集,数据查询语句如下:

    • ds1:select * FROM S订单 as 订单 where 货主地区 is not null ${if(len(地区)=0,"","and 货主城市 in ('"+SUBSTITUTE(地区,",","','")+"')")} 

    • ds2:select distinct 货主地区 FROM S订单 订单 where 货主地区 is not null

    • ds3:select distinct 货主省份 FROM S订单 where 货主地区 = '${layer1}'  and 货主省份 is not null

    • ds4:select distinct 货主城市 FROM S订单 where 货主省份 = '${layer2}' 

    注1:ds1 中的条件属性也可修改为: ${if(len(地区)=0,"","and 货主城市 in ('"+SUBSTITUTE(地区,",","','")+"')")}  

    注2:layer1 表示取层次 1 节点的值,若在层次 2 中调用,则是 SELECT 字段 FROM 表名 WHERE 层次2的字段 = '${layer2}'依次类推。

    1600780190979316.png

    2.1.2 模板设计

    新建普通报表,将字段拖入对应的单元格中,如下图所示:

    222

    2.1.3 参数界面

    打开参数界面,添加标签控件、下拉树控件,下拉树控件命名为地区,勾选多选属性,设置数据字典,构建方式选择“普通分层构建”。

    1)层次1:选择数据查询ds2,设置实际值、显示值为“货主地区”,如下图所示:

    1600780774626342.png

    2)层次2:选择数据查询ds3,设置实际值、显示值为“货主省份”,如下图所示:

    1600780962333781.png

    3)层次3:选择数据查询ds4,设置实际值、显示值为“货主城市”,如下图所示:

    1600781030299951.png

    2.2 效果预览

    1)PC 端

    保存模板,点击分页预览,效果如下图所示:

    222

    2)移动端

    222

    3. 模板下载

    已完成的模板,可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Primary\widgetReport\多选下拉树实现多值查询.cpt

    点击下载模板:多选下拉树实现多值查询.cpt

    附件列表


    主题: 参数应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526