我在页面中添加了一个reportviewer:
<asp:ScriptManager ID="Scriptmanager1" runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="repViewer" runat="server" Width="100%" Height="100%" OnDrillthrough="repViewer_Drillthrough"></rsweb:ReportViewer>
报告正常加载,但是当我点击钻取列(链接)时,报告似乎重新加载(报告的导航按钮被禁用并再次启用),但就是这样,OnDrillthrough事件未被触发(未达到断点。)
我做错了什么?
修改
在用控件玩了一下后,我注意到没有任何实际效果。分页,搜索,DrillingThrough,您将其命名为...报告将被禁用并再次启用,但它始终显示相同的数据集(基本上是第一页......)
还有一件事。我的网站上没有本地报告。我使用ReportViewer访问远程报告。代码隐藏如下:
protected void Page_Load(object sender, EventArgs e)
{
repViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
repViewer.ServerReport.ReportServerUrl = new Uri("http://mssql/reportserver");
repViewer.ServerReport.ReportPath = "/Domiciliations/myreport";
repViewer.ServerReport.Refresh();
}
答案 0 :(得分:2)
我刚刚发现了这个问题。每次加载页面时,您都会重新绑定报表并擦除任何其他状态更改。您只应在页面未回发时初始化它。试试这个:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack())
{
repViewer.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
repViewer.ServerReport.ReportServerUrl = new Uri("http://mssql/reportserver");
repViewer.ServerReport.ReportPath = "/Domiciliations/myreport";
repViewer.ServerReport.Refresh();
}
}