在我的報告中,我有兩個參數。 一個用於從列表中選擇訂單號(下拉列表),另一個用於輸入訂單號。這個想法是讓最終用戶選擇訂單號或鍵入它,而不是兩個... 有沒有一種方法可以在選擇列表項時清空文本框,反之亦然,例如從列表項中選擇一個空值一旦訂單號碼被輸入,下拉列表?我想過使用代碼,但是一旦按下「查看報告」按鈕,就不可能確定要使用哪個參數。SSRS - 實現參數約束
對這種情況的任何其他方法都非常歡迎。
在此先感謝您的答覆。
在我的報告中,我有兩個參數。 一個用於從列表中選擇訂單號(下拉列表),另一個用於輸入訂單號。這個想法是讓最終用戶選擇訂單號或鍵入它,而不是兩個... 有沒有一種方法可以在選擇列表項時清空文本框,反之亦然,例如從列表項中選擇一個空值一旦訂單號碼被輸入,下拉列表?我想過使用代碼,但是一旦按下「查看報告」按鈕,就不可能確定要使用哪個參數。SSRS - 實現參數約束
對這種情況的任何其他方法都非常歡迎。
在此先感謝您的答覆。
定義參數
讓我們假定允許用戶輸入訂單號被稱爲typed_value並允許用戶從列表中選擇一個項目被稱爲第二個參數的第一個參數list_value。
從當值在類型使用
阻止列表添加以下到填充list_value
WHERE @typed_value IS NULL
這將防止在返回任何記錄查詢的WHERE子句typed_value不爲NULL,阻止客戶從列表中選擇訂單,如果他們已經鍵入訂單。
更新list_value與typed_value
上面的代碼將只刪除列表中的項目,但要獲得該列表來填充類型值這個工會添加到填充list_value查詢
UNION SELECT @typed_value WHERE @typed_value IS NOT NULL
如果用戶離開typed_value NULL,那麼他們可以從list_value中選擇任何值。如果用戶鍵入一個值,該列表將自動替換爲他們的typed_value。
要使用哪個值?
您可以將您的報表過濾器關閉list_value並忽略typed_value,因爲如果用戶在typed_value中輸入任何值,則list_value將更新爲typed_value。
理順UX
確保參數typed_value允許空值。將typed_value的默認值設置爲NULL是一個好主意,這樣用戶可以在報表首次加載時看到列表值。
還設置list_value到@typed_value默認值將自動設置list_value任何值客戶類型英寸
謝謝,這個偉大的工程!快速跟進問題:有沒有辦法將兩者結合起來?即從列表中選擇一個值或在同一個「框」中鍵入一個值。 – Makki
我不知道在默認的SSRS報告顯示中做到這一點的方法。但是,如果您使用Web表單報告查看器提供SSRS報告,則可以將參數設置爲隱藏,然後設置您自己的UI以傳入參數值。 –