我使用ReportViewer 11在iframe中显示报表(aspx页面加载到iframe中)。它正确显示第一页。但是当我点击下一页时,它会再次加载第一页。即使我手动输入页码到文本框中,它也仅加载第一页。看起来,它并没有在服务器端触发pagenavigation事件。如果我在后面的代码中将currentpage属性设置为2,那么无论我提供什么设置,它都只加载第1页。 搜索了几天。没有解决方案。
任何帮助将不胜感激。
由于
答案 0 :(得分:0)
应用此逻辑
我不知道这是否会对您有所帮助,但数据库中的记录可以通过这种方式进行分页。
答案 1 :(得分:0)
我也试过这个逻辑。但主要问题是,即使按下“下一步”按钮,ReportViewer.CurrentPage也始终为0(在我的情况下)。所以它将再次显示container1记录。这是我的代码:
public void SetReportData(ref ReportViewer objRptVwr, ReportParameter[] rptParam, string moduleName, string reportName, string dsName, System.Data.DataTable dtFinal){
objRptVwr.Reset();
objRptVwr.ProcessingMode = ProcessingMode.Local;
objRptVwr.LocalReport.ReportPath = HttpContext.Current.Server.MapPath("~/ReportViewer/" + moduleName + "/" + reportName + ".rdlc");
if (rptParam != null)
objRptVwr.LocalReport.SetParameters(rptParam);
objRptVwr.ShowPrintButton = true;
objRptVwr.ShowParameterPrompts = true;
objRptVwr.AsyncRendering = false;
objRptVwr.InteractivityPostBackMode = InteractivityPostBackMode.AlwaysSynchronous;
objRptVwr.ShowBackButton = true;
objRptVwr.SizeToReportContent = false;
objRptVwr.PageCountMode = PageCountMode.Actual;
objRptVwr.ShowExportControls = true;
objRptVwr.ShowPageNavigationControls = true;
objRptVwr.ShowToolBar = true;
objRptVwr.ShowWaitControlCancelLink = false;
objRptVwr.ShowZoomControl = true;
objRptVwr.LocalReport.EnableExternalImages = true;
objRptVwr.ExportContentDisposition = ContentDisposition.AlwaysInline;
ReportDataSource reportDataSource = new ReportDataSource(dsName, (System.Data.DataTable)dtFinal);
objRptVwr.LocalReport.DataSources.Clear();
objRptVwr.LocalReport.DataSources.Add(reportDataSource);
objRptVwr.LocalReport.Refresh();
}
答案 2 :(得分:0)
我做了什么,生成的按钮将根据列表大小。 每个按钮(可能是li标签)将包含一个包含0,5,10之类值的文本字段,依此类推(如果每页有5个元素)。
单击一个按钮,我获得该文本字段的值(例如索引)并将结果集位置移动到索引并打印最多5个元素的记录。