2010-01-08 180 views
0

报告观看者SQL报告服务在VS 2008报告控制 如果我创建在VS 2008中他们有一个.rdlc扩展和正常工作的新报告。报告观众报告服务在VS 2008报告控制

我有,我用在SQL Reporting Services一些报道。扩展名为.rdl,并希望让它们与VS 2008一起工作。

我将rdl文件和.rdl.data文件复制到VS 2008(SP1)项目中,但是当我去选择控件中的报表时它没有看到文件(我假设它是寻找一个.rdlc文件)

我试图重新命名为.rdlc文件并加载的文件了,并获得

报表定义具有无效 目标命名空间 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' 无法升级。

我看到这个 http://social.msdn.microsoft.com/Forums/en-SG/vsreportcontrols/thread/65cefd7d-00d8-4be6-a53a-7e34dfd7eb2b

我在这里看到 http://www.gotreportviewer.com/ 它说 “RDL文件与ReportViewer控件运行时完全兼容。但是,RDL文件不包含一些信息,在设计时的ReportViewer控件依赖于自动生成数据绑定代码。通过手动绑定数据,RDL文件可以在ReportViewer控件中使用。“

但链接如何手动绑定数据被破坏。

如何手动重新绑定数据的任何想法?或者更好的方式让这些报告与2008年的控制一起工作?

回答

1

SSRS 2008中的服务器版本* .rdl很不幸而不是与其本地副本* .rdlc文件兼容。

基本上,所有你能做的就是

  • 要么使用的.rdl直接在服务器上(使用你的ReportViewer控制“远程呈现”报告)

  • 基本上重新创建整报告从头本地报表

这是令人难以置信 - 但不幸的是,这是事实.....我们希望与.NET 4,Visual Studio 2010中这将是赌注之三。

+0

于是在2010年,报告控制可使用的.rdl或.rdlc? 我想我需要得到的测试版,并试试这个。 – Maestro1024 2010-01-08 19:34:14

+0

我不知道 - 但你总是可以期待最好的! :-) – 2010-01-08 21:24:27

1

如果你不需要先进的功能,如向下钻取,并且不能使用VS2010,你可以做到这一点的黑客(我做的):

  • 从VS2010安装新reportviewer.exe(β2或以后我猜);
  • 将版本10.0的ReportViewer的Common/WebForms程序集添加到引用;
  • 手工解析RDL XML结构来获得数据源和/或查询SQL(很容易);
  • 使用它来填充LocalReport。数据源;
  • 做LocalReport.Render(“PDF”)来获得PDF输出(用于生成PDF响应的ActionResult代码很容易找到);
  • 在页面和iframe上放置一个“查看”按钮;
  • “View”按钮(通过JavaScript)将iframe src属性分配给返回上述PDF内容的url - 并且它将在iframe中给出一个很好的PDF预览报告;
  • 或者,可以使用jQuery Media插件呈现具有相同结果的PDF对象标记;
  • 此外,我解析RDL的XML参数,并在页面上显示它们,并将它们传递给“生成报告”URL - 我为自己的参数获得了自己漂亮的UI控件,
  • 此外,我有我自己的“导出”按钮,调用LocalReport.Render(格式),并提供正确的MIME类型(这是Excel,Word,PDF和我的手册CSV)的输出 - 出口是在新版本的报告查看器。

上面的列表可能看起来很可怕,但是我只用了2天就可以破解ASP.NET MVC中的完整解决方案,并且它只有300行代码,包括我自己的CSV代。

将数据绑定的代码非常简单,一旦你得到数据表/数据集(从XML查询):

 var reportDataSource = new ReportDataSource(); 
     reportDataSource.Name = name; 
     reportDataSource.Value = ds.Tables[0]; 
     localreport.DataSources.Add(reportDataSource); 
+0

哇,看起来像你一直在黑暗的道路,即MS报告服务。 我最终只重做了VS 2008中的报告,但我非常有兴趣尝试您在这里讨论的内容。 – Maestro1024 2010-02-11 19:13:12

+0

是的,我写了一些关于SSRS和其他报告引擎如何吸引的文章。但之后我决定使用它 - 因为我喜欢设计师,并且渲染引擎(LocalReport)的一个合理部分是免费的。另外,无论如何,报表查看器在MVC中毫无用处,而且它生成的HTML非常糟糕。预览PDF更好。当然,这意味着完整的报告生成(无分页)等,但总是存在折衷;在很多情况下它仍然是一个很好的解决方案。没有人否认购买完整的报告服务并等待VS2010(RC现在不在);但有免费的替代品是很好的。 – queen3 2010-02-11 21:00:38