在VS 2008报告控件中报告来自SQL报告服务的查看器 如果我在VS 2008中创建新报告,则它们具有.rdlc扩展名并且可以正常工作。
我有一些报告,我在SQL报告服务中使用。扩展程序是.rdl,并希望让它们与VS 2008一起使用。
我将rdl文件和.rdl.data文件复制到VS 2008(SP1)项目但是当我在控件中选择报告时它没有看到该文件(我假设它正在寻找.rdlc文件)
我尝试将文件重命名为.rdlc并加载文件并获得
报告定义无效 目标命名空间 'http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition' 无法升级的。
我在这看到 http://www.gotreportviewer.com/ 它说 “RDL文件与ReportViewer控件运行时完全兼容。但是,RDL文件不包含ReportViewer控件的设计时间依赖于自动生成数据绑定代码的一些信息。通过手动绑定数据,可以使用RDL文件在ReportViewer控件中。“
但是如何手动绑定数据的链接被破坏了。
有关如何手动重新绑定数据的任何想法?或者更好的方法是让这些报告与2008控件一起使用?
答案 0 :(得分:1)
很遗憾,SSRS 2008中的服务器版本* .rdl 不与其本地对应的* .rdlc文件兼容。
基本上,你所能做的只是
直接在服务器上使用.RDL(使用ReportViewer控件中的“远程呈现”报告)
基本上从头开始将整个报告重新创建为本地报告
令人难以置信 - 但不幸的是,这是事实.....我们希望借助.NET 4,Visual Studio 2010它会更好。
答案 1 :(得分:1)
如果你不需要像深钻这样的高级功能,并且不能使用VS2010,你可以做这个黑客攻击(我这样做):
上面的列表可能看起来很可怕但是我花了两天时间来破解ASP.NET MVC中的完整解决方案,它只有大约300行代码,包括我自己的CSV代。
一旦获得DataTable / DataSet(来自XML查询),绑定数据的代码就非常简单:
var reportDataSource = new ReportDataSource();
reportDataSource.Name = name;
reportDataSource.Value = ds.Tables[0];
localreport.DataSources.Add(reportDataSource);