C # Получить Microsoft ReportViewer для загрузки содержимого XDocument - PullRequest
2 голосов
/ 24 января 2012

У меня есть объект Xdocument, который заполнен xml (определение для отчета -rdl).Я хотел бы предоставить содержимое этого XDocument для просмотра отчетов.

this.reportViewer1.LocalReport.LoadReportDefinition(); 

Кажется, что LoadReportDefinition принимает только аргументы TextReader или FileStream .... но мое определение отчета загружено в мой XDocument?Как я могу передать содержимое моего XDocument?

1 Ответ

3 голосов
/ 24 января 2012

Вы можете использовать класс 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);
}
...