反馈已提交

网络繁忙

多选下拉树实现不同级别之间的查询

  • 文档创建者:lu123
  • 历史版本:18
  • 最近更新:TW 于 2024-04-25
  • 1. 概述

    1.1 版本

    报表服务器版本
    功能变更
    11.0-

    1.2 预期效果

    数据库中有 3 个级别的数据,分别是地区,城市,以及客户名称,如果想实现同时选择查询出华东地区下所有公司以及北京的某个公司的数据,这个该怎么实现呢?效果如下:

    222

    2. 报表设计

    2.1 数据准备

    新建 3 个数据查询 ds1,ds2,ds3

    • ds1:SELECT * FROM 客户

    • ds2:SELECT * FROM 客户 where 地区 = '${layer1}'

    • ds3:SELECT * FROM 客户 where 城市 = '${layer2}',实际值为客户 ID

    2.2 表格设计

    报表主体设计如下图:

    222

    3. 构建下拉树

    3.1 新建模板参数

    切换到参数界面,点击菜单栏中的「模板>模板参数」,点击添加按钮,新建模板参数 tree 

    模板参数.png

    3.2 构建树

    1)点击右侧上方的控件按钮,可以将参数添加到参数界面。

    2)选择标签控件,可设置控件名称。

    3)选中参数控件,可将控件的类型选择为下拉树。

    tree组件.png

    4)选中下拉树控件,在控件属性面板中点击「数据字典」,开始构建树。


    构建方式选择「普通分层构建

    • 层次 1:选择 ds1,实际值和显示值都为地区。

    • 层次 2:选择 ds2,实际值和显示值都为城市。

    • 层次 3:选择 ds3,实际值为客户 ID,显示值为公司名称。

    注:此处使用的是列名选取实际值和显示值,亦可使用列序号选取实际值和显示值。

    222

    3.3 属性设置

    高级里面勾选多选,即使用多选下拉树,如果不勾选,则为单选下拉树,其他属性默认,属性的具体介绍请查看 下拉树控件

    如果勾选结果返回完整层次路径,那么下拉树返回的值为完整的层次路径,在使用时需要通过 treelayer 函数进行获取最底层的值,如果不勾选,则可以直接使用,这里先勾选上。

    4. 过滤设置

    参数界面和报表主体都设计好了之后,由于我们使用的是模板参数,需要通过参数将参数界面和报表主体联系起来,

    双击 A2 单元格,在过滤属性中设置,客户 ID 包含于 treelayer($tree),如下图:

    222

    注:公式 treelayer($tree) 的意思是返回参数 tree 中的值的最后一层数据。具体介绍请参考:treelayer 函数

    如果在参数面板设置下拉树属性时没有勾选【结果返回完整层次路径】,那么其过滤设置如下图:

    222

    注:如果在参数面板设置下拉树属性时没有勾选【结果返回完整层次路径】,无需使用 treelayer 函数,可直接用下拉数参数,返回值即为 tree 的值。

    5. 效果预览

    保存模板,点击「分页预览」,PC 端效果如 1.2 节所示。

    App 及 HTML5 效果如下图所示:

    2022-09-23_13-33-23.gif

    6. 模板下载

    已完成的报表参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\widgetReport\多选下拉树实现不同级别之间的查询.cpt

    点击下载模板:多选下拉树实现不同级别之间的查询.cpt

    附件列表


    主题: 参数应用
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持