历史版本3 :下拉框控件值首尾含有空白符也能实现查询 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 问题描述

拉框控件是常用的查询控件之一,实际使用中有一种场景,从某处复制了一个收货地址,然后粘贴到下拉框进行查询,但是这种复制来的地址里面有时候会含有空白符(包括:空格、制表符 tab、换行符等)

例如:当中复制过来的一个地址里面就含有Tab空白符【       黄岛区新技术开发区 65 号】,但是粘贴到下拉框中后Tab在文字的最前面被挡住了,部分用户不知道自己复制了含Tab的文字点击查询,结果是查询为空。

1.2 实现思路

1)通过编写SQL语句实现查询。

2)为查询控件添加点击事件,添加JS代码实现查询。

2. 示例一编辑

2.1 数据准备

建立数据集,输入SQL语句如下,将数据集命名为ds1,如下图所示:

SELECT * FROM 订单 

where 1=1

${if(len(订单ID)==0,"","and 订单ID LIKE '%"+ trim(订单ID)+ "%'")}

${if(len(货主地址)==0,"","and 货主地址 LIKE '%"+ trim(货主地址)+ "%'")}

公式注释:

  • ${if(len(订单ID)==0,"","and 订单ID LIKE '%"+ trim(订单ID)+ "%'")}和${if(len(货主地址)==0,"","and 货主地址 LIKE '%"+ trim(货主地址)+ "%'")}主要是为了实现模糊查询功能。

  • trim()用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等,并且trim() 不会改变原始字符串,不会删除原有文字内部的空白符。

2.2 报表设计

如下图所示:

2.3 参数面板设计

1)将参数添加至参数面板,控件选择为下拉框控件,如下图所示:

2)为订单ID的下拉框控件绑定数据字典,如下图所示:

2022-11-10_14-25-28.png

3)为货主地区的下拉框控件绑定数据字典,如下图所示:

2022-11-10_14-25-28.png

2.4 效果预览

保存报表,选中分页预览,如下图所示:

注:不支持移动端。

3. 示例二编辑

3.1 数据准备

 建立数据集,输入SQL语句如下,将数据集命名为ds2:

SELECT * FROM 订单 

where 1=1

${if(len(订单ID)==0,"","and 订单ID LIKE '%"+ 订单ID+ "%'")}

${if(len(货主地址)==0,"","and 货主地址 LIKE '%"+ 货主地址+ "%'")}

3.2 报表设计

与 2.2 节一致。

3.3 参数面板设计

1)与 2.3 节相同。

2)选择查询按钮,添加点击事件,如下图所示:

企业微信截图_1668063594470.png

3.4 效果预览

与 2.4 节一致。

4. 模板下载编辑

已完成模板可参见:

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\参数界面JS实例\SQL下拉框控件值首尾含有空白符也能实现查询.cpt

%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\参数界面JS实例\JS下拉框控件值首尾含有空白符也能实现查询.cpt

点击下载模板:

JS下拉框控件值首尾含有空白符也能实现查询.cpt

SQL下拉框控件值首尾含有空白符也能实现查询.cpt