水晶报表分页问题--在数据量达到分页为三页以上后,水晶报表自带的分页功能无效

最近的项目中,在把水晶报表进行绑定的部分移到某个具体类中时,出现了如下问题:

在数据量达到分页为三页以上后,水晶报表自带的分页功能无效了。
即,第一页、第二页正常,在第二页中点击后一页无法转到第三页。
在最后一页点击上一页就自动跳转到第一页。也就是,水晶报表翻页无效。

在网上搜索一直没有找到相关问题解决方法。
最后只能把原来的在页面中处理的方式移了过来
/// <summary>
  /// 设置查看器查询参数
  /// </summary>
  /// <param name="cryView">查看器</param>
  /// <param name="htParam">参数</param>
  /// <returns></returns>
  public virtual bool SetReportParam(CrystalDecisions.Web.CrystalReportViewer cryView, System.Collections.Hashtable htParam)
  {
   // TODO:  添加 AbstractReport.SetReportParam 实现
   //查看器控件所需的变量。
   if (paramFields==null)
   {
    paramFields = new ParameterFields ();
   } 
   
   rangeVal = new ParameterRangeValue ();
   
   // 循环设置参数是具有多个值的离散参数。
   // 设置参数字段的名称,它必须和报表中的参数相符。
   try
   {
    for(int i=0;i<RptDoc.ParameterFields.Count;i++)
    {

     //如此设置参数可以解决翻页只翻二页的问题
      paramField = RptDoc.ParameterFields[i];
     //获取参数,如果当前参数是否为null,如果不为null,则进行参数设置,(针对有子报表的参数)
          object objParam=htParam[paramField.Name.ToLower()];
          if(objParam!=null)
     this.RptDoc.SetParameterValue(paramField.Name.ToString(),objParam);

//原来的参数设置方式,只能翻二页
//     paramField = RptDoc.ParameterFields[i];
//     paramField.CurrentValues.Clear();
//     object objParam=htParam[paramField.Name.ToLower()];
//     if(objParam!=null)
//     paramField.CurrentValues.AddValue(objParam);
//     paramFields.Add (paramField);

    }

    // 将参数字段集合放入查看器控件。
   //     cryView.ParameterFieldInfo = paramFields;
   
   }
   catch(Exception ex)
   {
    string s=ex.Message;
    return false;
   }
   return true;
   
  }

 

问题解决。

posted @ 2008-01-23 18:02 DotNet菜园 阅读(491) 评论(3)  编辑 收藏 所属分类: 水晶报表

  回复  引用    
#1楼 2008-03-28 16:40 | 啊军 [未注册用户]
麻烦问一下你这SetReportParam()里传的是什么参数?可以把全部的发出来吗?
  回复  引用    
#2楼 2008-04-07 14:08 | 没用 [未注册用户]
只能说这是一段莫名其妙的代码,写的人知道怎么去解决问题,看的人看完了没帮助.
  回复  引用    
#3楼 2008-07-22 11:59 | 没用 [未注册用户]
我出现了这个问题,看了你的后问题更严重了

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-02-02 10:22 编辑过


相关链接: