假如数据表如下
表A
字段 a1,a2,a3
要显示成这样
第一页
  序号 A1的值  A2的值  A3的值
    1     asd      32    dasd
    2     asd      43    dasd
  小计    ***      75     ***
第二页
  序号 A1的值  A2的值  A3的值
    3     asd      45    dasd
    4     asd      43    dasd
  小计    ***      88     ***
  总计    ***     163     ***
应该怎么去做。
前面的值我都弄出来了。只是那小计我知道清楚放哪里,如果放在页尾 它就跟上面的详细连不起来了。
如果放在报表尾。如果数据有2页,第一页就不会有小计。
总计我知道是放在报表尾;主要想知道一下小计应该放在那里。如何做。请详细说下。第一次用这水晶报表

解决方案 »

  1.   

    最直接的办法是把要显示的数据在datatable就算好小计,然后直接绑。水晶报表看成UI层的话,那么它应该只是拿来显示的。所有的业务逻辑应该放在facade层里。而facade的数据应该基于具体的业务逻辑。
      

  2.   

    小计取和没用啊
       我用的DATASET数据集。
    水晶报表中的详细设计。我是在‘字段资源管理器’->‘数据库字段’直接连的数据集,把表选进来的
    这样‘详细资料’里就只要托那个字段出来就行了 。水晶报表会自动循环的。
      

  3.   

    不是水晶报表推式、拉式两种不同的方法。。要么就直接从数据库取数据,,一一把字段拉到报表里。要么就先将从数据库里得到的数据放到DataSet数据集里,,然后再将它设为水晶报表的数据源,,当然这种方式的话所有的公式、参数等最好在程序里完成!~你应该是第一种吧!~~
      

  4.   

    但是我没传参数到Dataset里。
     我是直接在Dataset里虚拟一张表的。
    公式东西我都找资料弄好了 。就是那小计不知道放哪里
      

  5.   

    把小计放在页脚上,把页脚拉高一点,使他能连到详细资料节上就可以了。
    然后在报表页脚上也放一个,作为最后一页的页小计。这样会在最后一页上多出一个页小计来,把它抑制显示掉就行了。
    节专家中设置页脚,控制最后一页不显示,勾选抑制显示,编辑后面的公式 pagenumber=totalpagecount
      

  6.   

    給你個方法  一步一步的做 我已經搞定了 -----絕對OK  
    思路如下(Crystal语法): 
    1:用一个变量mySum来累计页面数据 “订单.订单金额” 
    公式@CurrentSum,放在详细资料节需要进行汇总的字段的位置 WhilePrintingRecords; 
    CurrencyVar mySum; 
    mySum:=mySum + {订单.订单金额}; 
    如果不需要显示,抑制显示即可2: 在每页的页脚获取到这个变量的值(也就是该页最后一个Sum值),当然这个时候后一个mySum是前面所有数据的和, 
      也就是仍然是我以前犯的错误症状 
      @CurrentPageSum WhilePrintingRecords; 
    CurrencyVar mySum; 
    3:关键所在,在每页的页眉或者页脚的位置将我们的变量重置@ResetPageSum,保证在每页的开始它都是从0开始累计的 WhilePrintingRecords; 
    CurrencyVar mySum := 0; 
     
    如果不成功  在給我留言。。