下拉框元件值首尾含有空白符也能實現查詢

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的下拉框元件綁定資料字典,如下圖所示:

3)為貨主地區的下拉框元件綁定資料字典,如下圖所示:

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)選擇查詢按鈕,新增點選事件,如下圖所示:

事件JavaScrip脚本程序碼如下:

var aa = this.options.from.getWidgetByName ("訂單ID");
var bb = this.options.from.getWidgetByName ("貨主地址");
var str1 = aa.getValue();
var str2 = bb.getValue();
var mm1 = str1.tostring().trim();
var mm2 = str2.tostring().trim();
aa.setValue(mm1);
bb.setValue(mm2);


3.4 效果預覽

與 2.4 節一致。

4. 範本下載

已完成範本可參見:

%FR_HOME%webappswebrootWEB-INF eportletsdocJS參數介面JS實體SQL下拉框元件值首尾含有空白符也能實現查詢.cpt

%FR_HOME%webappswebrootWEB-INF eportletsdocJS參數介面JS實體JS下拉框元件值首尾含有空白符也能實現查詢.cpt

點選下載範本:

JS下拉框元件值首尾含有空白符也能實現查詢.cpt

SQL下拉框元件值首尾含有空白符也能實現查詢.cpt






附件列表


主題: 參數應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

5s后關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙

反饋已提交

網絡繁忙