我正在使用ReportViewer控件在ASP.NET页面中显示服务器报告,我正在寻找一种方法将报告放入一个我可以读取和/或修改的对象中。
这种事:
var rw = report.Width;
var t = ((Chart)report.Body.Item[3]).Title;
有没有办法,还是我坚持解析XML文件?
ETA:
我开始认为我需要访问XML文件,但我无法找到如何从服务器下载,修改它(在内存中)然后将其发送到ReportViewer控件。
ETA2:
以下是如何下载报告定义(为简洁而省略的清理):
// Download the report
var rs = new ReportingService2010();
rs.UseDefaultCredentials = true;
var reportDefinition = rs.GetItemDefinition("/DashboardReports/MyChart");
// Convert to XML
var ms = new MemoryStream(reportDefinition);
var doc = new System.Xml.XmlDocument();
doc.Load(ms);
// To load the stream into the report viewer
stream.Position = 0; // needed because we used the stream above - doc.Load(ms)
this.ReportViewer1.ServerReport.LoadReportDefinition(stream);