当前位置: 代码迷 >> ASP.NET >> 【200分 解决马上结贴】ReportViewer获取报表总页数GetTotalPages为0是神马情况?该怎么处理
  详细解决方案

【200分 解决马上结贴】ReportViewer获取报表总页数GetTotalPages为0是神马情况?该怎么处理

热度:10158   发布时间:2013-02-25 00:00:00.0
【200分 解决马上结贴】ReportViewer获取报表总页数GetTotalPages为0是神马情况?!
这是按钮的Click事件:

C# code
    protected void Button1_Click(object sender, System.EventArgs e)    {        GetReport();//给报表绑定数据        lblCount.Text = ReportViewer1.LocalReport.GetTotalPages().ToString();//获取报表总页数        txtPage.Text = ReportViewer1.CurrentPage.ToString();//当前页    }


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

我在Page_Load事件里加上了获取总页数:
C# code
        lblCount.Text = ReportViewer1.LocalReport.GetTotalPages().ToString();        txtPage.Text = ReportViewer1.CurrentPage.ToString();


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



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

C# code
//方法一: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……

------解决方案--------------------------------------------------------


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

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

但是具体的C#代码实现,不太清楚 ~
------解决方案--------------------------------------------------------
C# code
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");        SqlDataAdapter myda = new SqlDataAdapter("Sales by Year", myConn);        myda.SelectCommand.Parameters.AddWithValue("@Beginning_Date", "1997-10-10");        myda.SelectCommand.Parameters.AddWithValue("@Ending_Date", "2000-10-10");        myda.SelectCommand.CommandType = CommandType.StoredProcedure;        DataSet myds = new DataSet();        myConn.Open();        myda.Fill(myds);        myConn.Close();        ReportViewer1.Visible = true;               ReportDataSource rds = new ReportDataSource("DataSet1_Sales_by_Year", myds.Tables[0]);        ReportViewer1.LocalReport.DataSources.Clear();        ReportViewer1.LocalReport.DataSources.Add(rds);        ReportViewer1.LocalReport.Refresh();    }
------解决方案--------------------------------------------------------
txtPage.Text = ReportViewer1.CurrentPage.ToString();//当前页
之后还有些什么吗 ?
 if(!IsPostBack)
有木有 。
------解决方案--------------------------------------------------------

听说绑定也有份拿!
------解决方案--------------------------------------------------------
探讨
  相关解决方案