反饋已提交
網絡繁忙
資料集參數配合參數元件可實現下拉框聯動、模糊查詢、參數為空顯示全部等效果。
多種參數元件組合便捷,輕鬆實現多條件過濾。
新建資料集ds1。
輸入SQL:select * from 訂單 where 貨主地區='${地區}' and 貨主省份='${省份}' and 貨主城市='${城市}'。
刷新參數,預設值為空。
新建資料集,可參考A03-00 資料庫查詢。
新建資料集,修改名稱為 地區選項。
篩選出訂單表中所有的貨主地區,輸入SQL:select 貨主地區 from 訂單。
新建資料集,修改名稱為 省份選項。
篩選出訂單表中貨主地區等於參數地區所選的值所對應的貨主省份,輸入SQL:select 貨主省份 from 訂單 where 貨主地區='${地區}'。
新建資料集,修改名稱為 城市選項。
篩選出訂單表中貨主地區等於參數地區所選的值,且貨主省份等於參數省份所選的值,查詢出對應的貨主城市,輸入SQL:select 貨主城市 from 訂單 where 貨主地區='${地區}' and 貨主省份='${省份}'。
點擊按鈕,展開參數面板。
在【元件設定】→【未生成參數】中,找到設定的三個資料集參數,地區、省份、城市。
點擊參數名稱,生成元件。
點擊各標籤元件後對應的按鈕,選擇下拉框元件。
選中地區下拉框元件,設定地區元件對應的資料字典,類型設定:資料查詢,資料集:地區選項,實際值和顯示值欄位:貨主地區。
選中省份下拉框元件,設定省份元件對應的資料字典,類型設定:資料查詢,資料集:省份選項,實際值和顯示值欄位:貨主省份。
選中城市下拉框元件,設定城市元件對應的資料字典,類型設定:資料查詢,資料集:城市選項,實際值和顯示值欄位:貨主城市。
下拉框元件設定,可參考A04-03 下拉框查詢。
按住ctrl,選擇需要調整的元件。
點擊按鈕,收起參數面板。
將ds1中的欄位拖入B3:R3儲存格。
在B2:R2儲存格中輸入表格的標題。
插入資料,可參考A05-00 插入資料欄。
給B2:R3儲存格添加框線,框線顏色為#E5E9F1。
設定B2:R3儲存格文字置中。
給B2:R2儲存格設定背景色 #EEF1F8。
地區下拉框點開,顯示所有地區選項;選擇一個地區後,點開省份下拉框,顯示該地區下所有省份選項;選擇一個省份後,點開城市下拉框,顯示該省份下所有城市選項。
選中資料集ds1,點擊按鈕。
編輯資料集,修改SQL為:select * from 訂單 where 貨主地區='${地區}' and 貨主省份='${省份}' and 貨主城市='${城市}' and (訂購日期 >='${start}' and 訂購日期<='${end}')。
在【元件設定】→【未生成參數】中,找到設定的兩個資料集參數,start、end。
點擊各標籤元件後對應的按鈕,選擇日期元件。
選中Labelstart元件,修改元件值為 選擇開始日期:。
選中Labelend元件,修改元件值為 選擇結束日期:。
選中start元件,修改元件值為 2010/01/01。
日期元件設定,可參考A04-05 日期元件。
編輯資料集,修改SQL為:select * from 訂單 where 貨主地區='${地區}' and 貨主省份='${省份}' and 貨主城市='${城市}' and (訂購日期 >='${start}' and 訂購日期<='${end}') and 貨主名稱 like '%${name}%'。
在【元件設定】→【未生成參數】中,找到設定的資料集參數name。
點擊標籤元件後對應的按鈕,選擇文字元件。
選中Labelname元件,修改元件值為 貨主名稱:。
文字元件設定,可參考A04-00 文字元件。
在貨主名稱後文本框中輸入 謝 ,點擊查詢,即可搜索出所有貨主名稱中包含 謝 的資料。
編輯資料集,修改SQL為:select * from 訂單 where 貨主地區='${地區}' and 貨主省份='${省份}' and 貨主城市='${城市}' and (訂購日期 >='${start}' and 訂購日期<='${end}') and 貨主名稱 like '%${name}%' and 是否已付='${是否已付}'。
在【元件設定】→【未生成參數】中,找到設定的資料集參數,是否已付。
點擊標籤元件後對應的按鈕,選擇單選按鈕組元件。
設定是否已付元件對應的資料字典,類型設定:自定義,實際值對應顯示值:true對應是,false對應否。
單選按鈕組元件設定,可參考A04-08 單選按鈕組元件。
編輯資料集,修改SQL為:select * from 訂單 where 1=1 ${if(len(地區) == 0,"","and 貨主地區 = '" + 地區 + "'")} ${if(len(省份) == 0,"","and 貨主省份 = '" + 省份 + "'")} ${if(len(城市) == 0,"","and 貨主城市 = '" + 城市 + "'")} ${if(len(start) == 0,"","and 訂購日期 >= '" + start + "'")} ${if(len(end) == 0,"","and 訂購日期 <= '" + end + "'")} ${if(len(是否已付) == 0,"","and 是否已付 = '" + 是否已付 + "'")} ${if(len(name) == 0,"","and 貨主名稱 like '%" + name + "%'")}。
where 1=1 表示該過濾條件永遠為真。
len(參數)==0 表示參數字符數為0。
${if(len(參數) == 0,"","and 欄位名稱 = '" + 參數 + "'")} 表示:當參數為空時,無過濾條件,查詢全部當參數不為空時,SQL語句等於select * from 表名 where 1=1 and 欄位名='${參數}'。
參數面板元件不選擇任何值,直接點擊查詢按鈕,顯示全部資料。
點擊【範本】→【範本參數】。
點擊按鈕,新增參數,預設參數名為p1。
雙擊p1,修改參數名為col。
新增範本參數,可參考A11-04 範本參數。
在【元件設定】→【未生成參數】中,找到設定的範本參數col。
點擊標籤元件後對應的按鈕,選擇下拉複選框元件。
設定col元件對應的資料字典,類型設定:公式,實際值公式為TABLEDATAFIELDS("ds1"),顯示值預設為空,表示顯示值和實際值相同。
下拉複選框元件設定,可參考A04-04 下拉複選框元件。
按住shift,選中B2:R3儲存格。
滑鼠右鍵點擊,選擇【清除】→【全部】。
滑鼠右鍵點擊C2儲存格,選擇【儲存格元素】→【插入公式】,輸入split($col,","),公式表示將參數col組成的字符串數組分割成多個值,用「,」隔開。
滑鼠右鍵點擊B3儲存格,選擇【儲存格元素】→【插入公式】,輸入ds1.select(#0),公式表示取ds1資料集當中的所有列號,返回的結果為 1,2,3……。
滑鼠右鍵點擊C3儲存格,選擇【儲存格元素】→【插入公式】,輸入ds1.value(B3,C2),公式表示獲取ds1資料集中列為C2儲存格中的值,列號為B3儲存格中的值,所對應的資料。
儲存格插入公式,可參考A05-03 插入公式。
選中C2儲存格,點擊【儲存格屬性】→【擴展方向】,選擇橫向擴展。
選中B3儲存格,點擊【儲存格屬性】→【擴展方向】,選擇縱向擴展。
儲存格擴展,可參考A06-00 擴展-擴展方向。
給B2:C3儲存格添加框線,框線顏色為#E5E9F1。
設定B2:C3儲存格文字置中。
給C2儲存格設定背景色 #EEF1F8。
選中B欄,滑鼠右鍵點擊,選擇隱藏。
選擇需要顯示的欄,報表根據選擇的欄顯示不同內容。
選中地區下拉框元件,點擊【元件設定】→【事件】。
點擊按鈕,選擇編輯後事件。
在JS腳本框中輸入_g().parameterCommit();。
選擇需要顯示的欄,點擊查詢後,選擇不同地區,無需再點擊查詢按鈕,即可實現查詢。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉