![](/img/trans.png)
[英]Controlling the SQL Server Reporting Services Report Viewer programmatically
[英]Report viewer from SQL reporting services in VS 2008 report control
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控件的設計時需要這些信息來自動生成數據綁定代碼。通過手動綁定數據,可以在ReportViewer控件中使用RDL文件。”
但是有關如何手動綁定數據的鏈接已損壞。
關於如何手動重新綁定數據的任何想法? 還是讓這些報告與2008控件一起使用的更好方法?
不幸的是,SSRS 2008中的服務器版本* .rdl與本地版本* .rdlc文件不兼容。
基本上,您所能做的就是
要么直接在服務器上使用.RDL(使用ReportViewer控件中的“遠程呈現”報告)
基本上從頭開始將整個報告重新創建為本地報告
這真是令人難以置信-但不幸的是,這是事實.....讓我們希望使用.NET 4,Visual Studio 2010會更好。
如果您不需要向下鑽取之類的高級功能,並且不能使用VS2010,則可以這樣做(我可以這樣做):
上面的列表可能看起來很嚇人,但是我花了僅2天的時間就在ASP.NET MVC中破解了完整的解決方案,而且只有大約300行代碼,包括我自己的CSV代。
一旦從XML查詢獲得DataTable / DataSet,綁定數據的代碼就非常簡單:
var reportDataSource = new ReportDataSource();
reportDataSource.Name = name;
reportDataSource.Value = ds.Tables[0];
localreport.DataSources.Add(reportDataSource);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.