Microsoft ReportViewer控件是否可以在本地模式下提示参数?
我添加了一个参数来过滤报告,可以是一个参数的多个值。
我已经设置了参数的可用Values属性,以便从查询中读取值列表。
我希望如果我没有在代码中设置参数值,报告会像水晶报告一样提示它们(我为参数可用值设置数据源)
我已经对此进行了一些研究,据我所知,报告在服务器处理模式下运行的唯一时间就是提示参数。
是这样的吗?我试图避免向页面添加控件以选择要传递给报表的参数。
可用参数属性是否与本地报告相关,还是两者都存在?
为了完整性,这里是用于设置报告数据源的代码:
//Set the report
Reporting.Common.SetReportEmbeddedResource( this.ReportViewer1, "Reporting.Reports.BudgetEnquiryDrilldown.rdlc" );
//Set the datasources
this.ReportViewer1.LocalReport.DataSources.Add(
new ReportDataSource(
"BudgetEnquiry",
Reporting.Repositories.BudgetEnquiryDrilldown.GetBudgetEnquiryRecords(
base.CurrentSageDatabase,
base.CurrentUser.UserID ) ) );
this.ReportViewer1.LocalReport.DataSources.Add(
new ReportDataSource(
"AccountNumber",
Reporting.Repositories.BudgetEnquiryDrilldown.GetAccountNumbers(
base.CurrentSageDatabase ) ) );
this.ReportViewer1.LocalReport.DataSources.Add(
new ReportDataSource(
"CostCentre",
Reporting.Repositories.BudgetEnquiryDrilldown.GetCostCentres(
base.CurrentSageDatabase ) ) );
//Refresh the report
this.ReportViewer1.LocalReport.Refresh();
答案 0 :(得分:6)
我不认为你可以按照说法使用ReportViewer,但是很容易用所需的参数创建一个新表单并将它们传递给报告。
看看这个:
Dim params As New List(Of Microsoft.Reporting.WinForms.ReportParameter) ' Add Parameters of type Microsoft.Reporting.Windows.ReportParameter params.Add(New Microsoft.Reporting.WinForms.ReportParameter("Test", "Whatever")) RptViewer.LocalReport.SetParameters(params)
在这种情况下,param测试的值为“whatever”。
答案 1 :(得分:2)
坚持使用相同的问题,然后在谷歌上搜索
“在没有Report Server的情况下,ReportViewer必须从您的应用程序获取其数据。在本地模式下,您的应用程序负责为报告提供必要的输入。这就是ReportViewer不显示参数提示区域的原因使用本地报告。参数和数据在ReportViewer外部。“
来源: