none
水晶报表问题咨询,请高手指教 RRS feed

  • 问题

  •  

    我使用的是微软.NET2005自带的水晶报表,在使用的过程中有以下的问题,希望高手能为我解惑:
     
         需要作成的报表,要求可以每页的记录隔行变换背景颜色,即一行浅蓝色,一行白色。
         我的实现方法是:在【详细】节里面,用以下的公式进行控制:
     
          if  RecordNumber mod 2=0  then
              16711360
          else
              16777215
        
         
         问题来了,由于报表数据量大,可以分多页,而且分页是依据数据分组来实现的,
         第一页的数据条数有可能是奇数,也有可能是偶数。当第一页数据条数是偶数的时候,第二页和第一页都正常,每页的第一条记录的颜色都是白色;当第一页数据条数是奇数的时候,第二页的第一条记录就会显示浅蓝色,导致第一页和第二页的风格不一致。
      我的这种做法可能会有问题,请问工程师,有没有其他的方法来解决这个问题,请指教~!谢谢~!
     
    ——————————————————————————————————————————————————
    PS:这个问题我问神舟数码(水晶报表总代理),他们说你的产品不是单独出售的,属于微软的OEM,我们不提供支持,让我去找微软。我去找微软,说我买了你们产品,希望能给我提供一个咨询,得到的答复是:水晶报表属于第三方组件,即使是我们卖出的,我们也不提供技术支持,让我还是问水晶报表公司(意指:神舟数码)。真不知道到底找谁了??
     
    2008年6月11日 2:36

答案

  •  

    呵呵 ,问题解决了~~~~~~

    在一位国际友人的帮助下,成功搞定。

     

    搞定原理是:使用公共变量来记录每页的数据行数,并在换页的时候重新初始化该公共变量。具体搞定的方法如下:

     

    1.在节管理专家里面,选中【页脚】,然后选中右边Tab页中【共通】属性框中的【不表示....】,

       然后点击【不表示....】的编码按钮【x-2】,在里面添加如下编码:

    Global  page_cnt as Number
    page_cnt = 0
    formula = false

     

    2.还是选择节管理专家,选中【详细】,然后选择右边Tab页中的【色】属性框,然后选中【背景色】,

      点击背景色的编码按钮【x-2】,在里面添加如下编码:

    Global  page_cnt as Number
    page_cnt = page_cnt+1
    if page_cnt mod 2 = 0 then
        formula  = 16711360
    else
        formula  =16777215
    end if 

     

    搞定~~~~~~~~~~

    希望对大家有所帮助~~~~

     

    2008年6月11日 10:57