C#获取Microsoft ReportViewer以加载XDocument内容

本文关键字:加载 XDocument 内容 ReportViewer 获取 Microsoft | 更新日期: 2023-09-27 18:21:10

我有一个Xdocument对象,它填充了xml(报表rdl的定义)。我想将此XDocument的内容提供给报表查看器。

this.reportViewer1.LocalReport.LoadReportDefinition(); 

LoadReportDefinition似乎只接受TextReader或FileStream参数。。。。但是我的报表定义加载在我的XDocument中?如何流式传输XDocument的内容?

C#获取Microsoft ReportViewer以加载XDocument内容

您可以像这样使用StringReader类:

using (var textReader = new StringReader(xDocument.ToString()))
{
  this.reportViewer1.LocalReport.LoadReportDefinition(textReader);
}

或者使用Stream:

using (var stream = new MemoryStream()) 
{
  xDocument.Save(stream);
  stream.Position = 0;
  this.reportViewer1.LocalReport.LoadReportDefinition(stream);
}