Ser*_*lyi 4 c# reportviewer rdlc localreport reporting-services
我在生成报告时遇到问题。
我应该使用数据库中的所有数据动态生成报告(源名称和存储为 xml 字符串的 rdlc 报告)
所以我解决了下一个问题:
设置文件路径;
var rViewer = new ReportViewer();
rViewer.LocalReport.ReportPath = @"Path to the generated xml rdlc file";
var dataSource = new ReportDataSource("DataSourceName", data);
rViewer.LocalReport.DataSources.Add(dataSource);
Run Code Online (Sandbox Code Playgroud)我可以在代码隐藏中直接指定 Report XML String 而不是生成 rdlc 文件并为其设置路径吗?你能推荐一个更好的方法吗?
谢谢你
是的,您可以像这样使用 LoadReportDefinition 为其提供 StringReader 对象,
private void Page_Load(object sender, System.EventArgs e)
{
NMBS.ViewModels.ViewModelReport Report = (Session["CurrentReport"] as NMBS.ViewModels.ViewModelReport);
ReportViewer.ProcessingMode = ProcessingMode.Local;
ReportViewer.PageCountMode = PageCountMode.Actual;
// Set report specifics.
ReportViewer.LocalReport.DisplayName = Report.Name;
ReportViewer.LocalReport.LoadReportDefinition(new System.IO.StringReader(Report.Definition));
foreach (ReportParameter Param in Report.Parameters)
{
ReportViewer.LocalReport.SetParameters(Param);
}
foreach (ReportDataSource Rds in Report.Data)
{
//Load Report Data.
ReportViewer.LocalReport.DataSources.Add(Rds);
}
ReportViewer.CurrentPage = Report.CurrentPage;
ReportViewer.Width = Report.Width;
// Refresh the reports.
ReportViewer.LocalReport.Refresh();
}
Run Code Online (Sandbox Code Playgroud)
其中 Report.Defintion 是包含报告定义 XML 的字符串。
| 归档时间: |
|
| 查看次数: |
6426 次 |
| 最近记录: |