【问题标题】:How to get the name of the report loaded inside the asp.net reportviewer control?如何获取在 asp.net reportviewer 控件中加载的报告的名称?
【发布时间】:2012-09-19 00:06:03
【问题描述】:

我在我的 asp.net Web 应用程序中使用ReportViewer 控件。

有一个名为查看报告的按钮,下面的代码在加载报告的asp.net按钮Click事件中。参数在网页上选择 并传递给ReportViewer 控件,如下所示。这很好用。

rptvw.ProcessingMode = ProcessingMode.Remote;
rptvw.ServerReport.ReportServerUrl = new Uri("http://localhost:90/reportserver");
rptvw.ServerReport.ReportPath = "/Reports/Dashboard1";

var param = new ReportParameter[2];
param[0] = new ReportParameter("Parameter1", dropdownlist1.SelectedItem.Text))
param[1] = new ReportParameter("Parameter2", dropdownlist2.SelectedItem.Text));
rptvw.ServerReport.SetParameters(param);
rptvw.ServerReport.Refresh();

我有 3 个单独的报告(.rdl 文件),例如 Dashboard2Dasboard3Dashboard4。 在Dashboard1(.rdl 文件)报告中有actions链接,点击后会加载Dashboard2Dashboard3 和4 个报告。

我的问题是网页如何知道加载了哪个报告,以便在单击查看报告按钮时应用相关参数并显示相应的报告?

我可以使用哪个ReportViewer Web 控制事件来确定加载了哪个报告?

【问题讨论】:

  • 这样你就可以创建子报表并设置参数了。
  • 感谢您的回复。是的。我创建了另一个报表 Dashboard2,当单击 Dashboard1 上的链接并将 Dashboard1 中的参数传递给 Dashboard2 时,它会打开。但想法是从网页而不是 Dashboard2 报表上更改参数。希望这是有道理的。

标签: c# asp.net reporting-services reportviewer


【解决方案1】:

我从您的问题和您提供的代码中感受到的是 此查看报告按钮单击将始终显示 Dashboard1 报告,单击链接后您将显示其他相关报告。因此,参数应该从您点击链接的报告中传递,而不是从网页中传递。

您可以查看this 了解更多信息。

因此,当您单击其他位置时,实际上应该没有将值传递给网页中的参数的问题。

HTH

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    相关资源
    最近更新 更多