我正在使用 ReportViewer 控件在 ASP.NET 页面中显示服务器报表,并且我正在寻找一种将报表放入对象中的方法,然后我可以读取和/或修改该对象。
这种事情:
var rw = report.Width;
var t = ((Chart)report.Body.Item[3]).Title;
有没有办法,或者我坚持解析 XML 文件?
预计到达时间:
我开始认为我需要访问 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);