2009-11-16 71 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 

运气好(如果你或其他人仍有意):-)