gpt4 book ai didi

asp.net - “转到报告”(钻取)操作在 SSRS 和 ASP.NET 中不起作用

转载 作者:行者123 更新时间:2023-12-04 06:48:28 27 4
gpt4 key购买 nike

我最近开始使用 SSRS 2008 和 ASP.Net。
我必须制定一份包含 3 个不同详细程度的报告。因此,我决定最好的解决方案是开发 3 个不同的报告并提供一些钻取机制以允许导航。为此,我将其中一个文本框的“Action”属性设置为“Go to report”并设置正确的 url。

传递给报告的参数需要首先进行验证。因此,为了灵活性和更好的用户体验,我让用户使用标准 ASP.Net 控件输入参数。当用户单击我的自定义按钮“显示报告”时,将执行以下代码:

        ReportViewer2.ServerReport.ReportPath = ".. my report path ..";
ReportViewer2.ServerReport.ReportServerUrl = new Uri(".. my report url ..");
ReportParameter p1 = new ReportParameter("dateStart", dateStart.ToString());
ReportParameter p2 = new ReportParameter("dateEnd", dateEnd.ToString());
ReportViewer2.ServerReport.SetParameters(p1);
ReportViewer2.ServerReport.SetParameters(p2);
ReportViewer2.ServerReport.Refresh();

然后显示报告,但用于导航到其他报告的链接不起作用。
您可能会注意到添加的参数是可见的,因此让我按下嵌入在报告查看器中的“查看报告”按钮。如果我这样做,报告会再次呈现,然后一切正常。这就像 ReportViewer.ServerReport.Refresh() 方法缺少一些东西。

这是一个问题,因为要求指出需要隐藏参数。

当我从 VS 或报表服务器内部执行报表时,链接工作正常,但在这些情况下,我总是必须按下标准的“查看报表”按钮。

这是 ReportViewer 控件的错误还是我在这里遗漏了什么?
提前致谢。

问候,

贡萨洛。

最佳答案

报告查看器包含一个更新面板。必须在报表查看器的预渲染事件中调用更新面板的 Update 方法:
protected void ReportViewer2_PreRender(object sender, EventArgs e)
{
((UpdatePanel)this.ReportViewer2.Controls[1]).Update();
}

关于asp.net - “转到报告”(钻取)操作在 SSRS 和 ASP.NET 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3460347/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com