2009-11-16 77 views
3

我正在使用ssrs與winforms ReportViewer控件向我的用戶顯示報告。有時他們想要選擇報告輸出的一些文本。但ReportViewer控件不會給我們這種能力,它只是呈現文本。是否有一些屬性可以在.rdl報告或ReportViewer控件中的一些屬性中進行更改,這些屬性會給我這種能力。Sql服務器報告服務選擇文本

我試過谷歌,但找不到任何東西。

任何幫助將不勝感激。 :)

+0

何塞嗨,你想通了這一點?你能找到這個「黑客」嗎?我也試圖做到這一點。 Tha – greektreat 2012-03-28 14:04:09

+0

@greektreat到目前爲止沒有這樣的運氣,讓我知道如果你發現一個黑客 – Jose 2012-04-02 04:18:57

回答

0

你可以讓它們導出報告作爲一個PDF或Excel文件 - 這應該給他們的全部內容

+0

我應該提到,我確實知道這個功能,如果它可用,我想更簡單。這將要求他們離開應用程序來查看不需要的內容。但是,謝謝 – Jose 2009-11-16 14:41:20

0

一個可行的辦法是你自己的ReportViewer控件創建的一種。

步驟1 使用SOAP Reporting Services來查詢您的目錄,找到你的報告,發現它們的參數和允許值,默認值等

一些出發點:

Documentation(對於最新版本)

Another SO question

聖ep 2 然後爲用戶提供一些基本界面來選擇參數。你可能必須自己創建,但有一點技巧,這是在幾個小時內完成的,也許你可以找到樣本。

步驟3 構建需要查詢與選擇的參數值的報表,並從報表服務的URL訪問呈現爲MHTML報表中的ReportServer URL。這允許您將整個報表整合爲一個部分,而不需要從服務器上拉出例如圖表或任何其他圖片。 結果可以很容易地扔進網頁瀏覽器控件,你可以選擇內容。

樣品:

var partialPath = System.Web.HttpUtility.UrlEncode(RelativeReportPath); 
//RelativeReportPath is sth. like /YourFolder/YourReportName 
var fullPath = string.Format("http://YourReportSereverDNS/ReportServer?{0}&rs:Command=Render&rc:Toolbar=false&rs:Format=MHTML", partialPath); 
var client = new RestClient(fullPath); 
client.Authenticator = new HttpBasicAuthenticator(@"domain\user", "SuperSecretPassword"); 
var request = new RestRequest(Method.GET); 
var response = client.Execute(request); 
//then throw response.Content into a Webbrowser Control in your winforms 

運氣好(如果你或其他人仍有意):-)