2010-08-14 44 views
10

我的SSRS報告包含7個輸入參數,並且在運行我的報告時參數的大小(即長度)正在增加。如何更改報告中的SSRS輸入參數位置

我的一個輸入參數(下拉列表)可能包含100個字符,所以大小不是恆定的,但我想將所有參數放在2行或3行(連續)中。

現在它來了2個參數每一行

請指點

回答

7

由於GBN表示,這是不容易改變的內置呈現參數的報表服務器的方法。 SSRS喜歡總是每行使用兩個參數,它們按照它們在報告中存在的順序呈現(其必須與依賴性順序相匹配)。

因此,gbn提到的替代方法:都涉及構建「包裝器」應用程序:一些自定義代碼或可以編碼的網頁,但是您希望獲取參數。然後,您可以通過代碼或將帶參數的格式化URL傳遞給Reporting Services。報告可以顯示在框架,新窗口中,或者作爲流傳遞到任何你想要的地方。

URL的訪問非常直接和可靠:我經常通過手動(創建「收藏」)或代碼來使用它。

http://msdn.microsoft.com/en-us/library/ms153586.aspx

對於你正在尋找,這些可能比你預期的更多的工作,但他們將是你的界面非常靈活的。

傑米

4

使用ASP.NET的PARAMATERS和ReportViewer控件或URL訪問渲染。認真。

我不知道任何選項來呈現參數的任何方式其他那麼默認

+0

你能指導我,如何使用SSRS的ASP.NET或URL訪問此Senario – VInayK 2010-08-15 11:53:13

1

我相信你可以嘗試使用jQuery。報告參數在div標記下以classsqlrv-ParameterContainer呈現在表格中。編寫一個jQuery或JavaScript函數,它將從這個div即ie中提取完整的innerHTML。表格內容,然後提取表格行信息,如<label><input>標籤。

<table><tr><td>{extracted sections}</td><td></td></tr></table>創建所需的表結構,或者把它留給你的要求......

然後,只需追加這個新的HTML結構代替原來的默認結構。

在jQuery中它會像

$(".sqlrv-ParameterContainer").html();

,這將給你自帶的參數的內部,整個表結構。使用XML解析並獲取輸入控件和全部。按原樣提取這些控件,不要更改任何內容。

$(".sqlrv-ParameterContainer table").remove(); // it will remove the SSRS rendered default table from DOM 

$(".sqlrv-ParameterContainer table").appendChild('<table><tr>......</tr></table>'); // Append your custom html structure here.... 

這是我想到的東西很快......我建議你測試一下......:)

+0

請嘗試在你的答案的結構中加入更多的信息,例如完整的句子和更少的點。否則,有點難以閱讀。 – david 2012-11-22 23:43:04

+0

此答案不處理級聯,相關參數。 – DonBecker 2013-08-15 15:17:36

5

您當然可以這樣做,只需右鍵單擊解決方案資源管理器中的RDL文件並選擇查看代碼即可。然後根據您想要定位的位置移動名稱爲<ReportParameter Name="Nameofparameter">的XML標籤<ReportParameters>。然後保存它。而已!!!

報告參數是浮動值爲2的類型,所以如果你有4個報告參數,那麼它將顯示爲1,2下一行3,4。祝你好運!

+2

是的,如果你想改變你的參數的位置 – Zeus 2012-06-06 22:01:49

+0

有用這肯定是沒有意義的?您只需點擊參數旁邊的設計視圖中的小箭頭即可上下移動它們。 – 2012-06-26 12:53:37

+0

原始問題是詢問有關參數的自定義佈局,而不是默認佈局中的排序。 – DonBecker 2013-08-15 15:16:47