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


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

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

    在网上搜索一直没有找到相关问题解决方法。
    最后只能把原来的在页面中处理的方式移了过来
    /// <summary>
      /// 设置查看器查询参数
      /// </summary>
      /// <param name="cryView">查看器,这个变量就在页面中的那个
    CrystalReportViewer 控件</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;
       
      }

     

    问题解决。

  • 相关阅读:
    2019.9.25 初级数据结构——树状数组
    2019.9.29 陪审团
    2019.9.27 硬币
    0070-星星阵
    0069-简单的回文数问题
    0068-简单的求和问题
    0067-水仙花数
    0066-若干个数求和问题
    0065-数方块
    0064-简单的平方和
  • 原文地址:https://www.cnblogs.com/chillsrc/p/1050425.html
Copyright © 2020-2023  润新知