1. 程式人生 > >為引數表單下拉資料集中的空值新增中文描述

為引數表單下拉資料集中的空值新增中文描述

需求描述
潤乾的下拉資料集可以繫結資料庫資料,方便使用者選擇,避免手動輸入可能引起的誤差。
用下拉資料集來實現引數下拉表單,將查詢條件傳遞給結果報表進行計算。有時查詢條件可能不需要選擇或者保持為空值,這時可以使用下拉資料集中的允許空值選項,如下圖:
 
這時原有的下拉列表就變為


 
相比原來的選擇項多空值選擇,但是這樣的空值選擇可讀性比較差,使用者使用起來會覺得不明確。下面的例子演示如何為空值選擇項新增顯示值讓其意義更加明確。

報表實現


1. 引數表單:
下拉資料集對應的資料集:
Sql:select 類別ID,類別名稱 from 類別
union
select 0,’未選擇’ from 類別
sql查詢結果:
 


該資料集的類別ID和類別名稱分別作為下拉資料集的資料列和顯示列。由上圖看出在原來的資料庫查詢結果上添加了一條記錄,如紅色邊框框起部分。該記錄的類別ID:0用了代替”空值”選擇項,類別名稱:未選擇代表顯示值。
設計引數表單如下:
  
其中B1的WEB屬性的變數名為cid(和結果報表模板的引數對應),並且設定B1的編輯風格為下列資料集,設定如下:
 

2.結果表單
接收從引數模板傳遞的引數並加工,返回給結果報表資料集執行查詢返回符合條件的記錄。
引數配置如下:
 
cid:為普通引數,從引數表單中接收相應引數cid。
cid1:為動態引數,表示式:if(cid==0,null,str(cid)),如果cid的值為0時,返回空,負責返回cid對應字串。
(實際上引數表單中用一個區別於其他選擇項的非空值代替了空值,如何使用者選擇空值,結果報表模板在引數處理時又將該選擇的非空值恢復為空值null。)
資料集:
 


 
該資料集在cid1非空時,返回指定類別的產品記錄;否則返回所有記錄。
結果報表設計:
 
報表實現效果
 

選擇非空值時,結果如下:
 
選擇“未選擇”時,結果如下
 

小結:
本例通過引數表單中修改下拉資料集的繫結資料集,新增代表空值的下拉資料項和顯示值項;在結果報表中利用動態引數把代表空值的下拉資料項還原為空值null,傳遞給資料集進行sql查詢。由此實現為下拉資料集空值新增中文描述。