日期:2014-05-17  浏览次数:20381 次

【200分 解决马上结贴】ReportViewer获取报表总页数GetTotalPages为0是神马情况?!
这是按钮的Click事件:


    protected void Button1_Click(object sender, System.EventArgs e)
    {

        GetReport();//给报表绑定数据
        lblCount.Text = ReportViewer1.LocalReport.GetTotalPages().ToString();//获取报表总页数
        txtPage.Text = ReportViewer1.CurrentPage.ToString();//当前页
    }



点击按钮后,报表绑定一切正常,但是就是获取总页数是零,不知道是什么情况。

我在Page_Load事件里加上了获取总页数:

        lblCount.Text = ReportViewer1.LocalReport.GetTotalPages().ToString();
        txtPage.Text = ReportViewer1.CurrentPage.ToString();


如果点一下ReportViewer的刷新就可以正常的获取到了。页面刷新总页数也是零,多次点击按钮也是零。


------解决方案--------------------
在绑定报表的时候,你为什么不试试取绑定那个的总数呢,比较说数据源是DataTabel,在绑定的时候,你取dataTabel里面的试试
------解决方案--------------------
获取水晶报表总页数方法



//方法一:

StatusBar bar = crystalReportViewer1.Controls[4] as StatusBar;
                string[] s = bar.Panels[1].Text.Split(':');
                int total = Convert.ToInt32(s[1]);

//方法二:
ReportDocument rptDocument = (ReportDocument)crystalReportViewer1.ReportSource;

                CrystalDecisions.Shared.ReportPageRequestContext rprc = new CrystalDecisions.Shared.ReportPageRequestContext();
                int totalPCount = rptDocument.FormatEngine.GetLastPageNumber(rprc);




------解决方案--------------------
你肯定帮顶成功了么  ?确认所有的数据都在么 ?数据验证过么 
------解决方案--------------------
引用:
获取水晶报表总页数方法


C# code


//方法一:

StatusBar bar = crystalReportViewer1.Controls[4] as StatusBar;
                string[] s = bar.Panels[1].Text.Split(':');
                int total = Convert……


水晶報表????
還是ReportView???
------解决方案--------------------


不太懂  .   帮顶 是一种美德  ~.

我只是会在 ASP 页面展示ReportServer报表.

但是具体的C#代码实现,不太清楚  ~ 
------解决方案--------------------
protected void Button1_Click(object sender, EventArgs e)
    {
        SqlConnection myConn = new SqlConnection("Data Source=192.168.0.36;Initial Catalog=Northwind;User ID=sa;Password=sa");