我用的是Delphi7+Rave5.0,现需要对领料单的物料进行储位(有对物料的储存位置进行编号)的分组打印
,要求是将相同储位的物料打印到一张单上(如果一张打印不完则自动打印到下一张,如果资料笔数不够一张打印单则打印为一张单,哪怕只有一笔也要单独打印为一页.要如何做?
我有对数据进行分组,现在可以正常分组,但没有按组进行分页 如: 领料单
物料编号     名称       数量        储位
02-RT142-1        活门固定件     10       C5A100
02-RT145-S        弹车拉杆       40       C5A100
 
       领料单物料编号     名称        数量       储位
03-ST132-1       发射按件        10       C5B100
03-S14E-S        发射拉杆        40       C5B100领料人       发料人      审核人说明: 
“领料单” 是单头
“领料人       发料人      审核人” 是每页末尾上图为一完整的打印单,但是该单打印了两个不同储位的物料信息,要求是只打印同一储位的物料信息,而另
一储位的物料信息则打印到新的一页。我的QQ是 28414561  请知道的朋友赐教

解决方案 »

  1.   

     [原创]RAVE中Band的BandStyle属性设定方法 RAVE中Band的BandStyle属性设定方法关于这个属性的设置,我一直没有搞清楚!今天好好研究了一下,有关体会是:Print Location(打印位置):     Body Header(页眉)    Group Header(组眉)    Row Header(行眉)    Detail(表体)    Row Footer(行脚)    Group Footer(组脚)    Body Footer(页脚)Print Occurrence(打印事件):    First(首页):Band所包含的内容只可以在第一页打印,以后各页将不包括相关的内
    容;    New Page(新的一页):Band所包含的内容必须在新的一页中,不能继续在原有页面中空
    白的部分继续打印;    New Column(新的分栏):在Region组件设置分栏时相应的内容只打印在新的分栏中,而
    不是现在正在使用的分栏中。
    简单的报表        对于表的行头一般采用的是常规Band,对于表体则一般采用的是DataBand。
            这种情况时,常规Band的BandStyle属性一般设定为:
            Print Location为Body Header;
            Print Occurrence为 First、New Page。
            DataBand的BandStyle属性一般设定为:
            Print Location为空;
            Print Occurrence为 First。        通常需要设定常规Band的ControllerBand为对应的DataBand。
    主细报表         对于主表的行头一般采用的是常规Band,对于主表表体则一般采用的是DataBand。
            主表的常规Band的BandStyle属性一般设定为:
            Print Location为Row Header;
            Print Occurrence为 First、New Page。
            主表的DataBand的BandStyle属性一般设定为:
            Print Location为空;
            Print Occurrence为 First、New Page。        通常需要设定主表的常规Band的ControllerBand为主表对应的DataBand。        对于细节表的行头一般采用的是常规Band,对于细节表表体则一般采用的是
    DataBand。
            细节表的常规Band的BandStyle属性一般设定为:
            Print Location为Body Header;
            Print Occurrence为 First、New Page。
            细节表的DataBand的BandStyle属性一般设定为:
            Print Location为Detail;
            Print Occurrence为 First。        通常需要设定细节表的常规Band的ControllerBand为细节表对应的DataBand。
            需要设定细节表的DataBand的ControllerBand为主表对应的DataBand。        细节表与主表的挂接主要是靠设定细节表对应的DataBand以下三个属性:
            DetailKey:细节表中与主表映射的字段名称;
            MasterDateView:主表对应的数据视图的名称;
            MasterKey:主表中与细节表映射的字段名称。分组报表        对于主表的行头一般采用的是常规Band,对于主表表体则一般采用的是DataBand。
            主表的常规Band的BandStyle属性一般设定为:
            Print Location为Row Header;
            Print Occurrence为 First、New Page。
            主表的DataBand的BandStyle属性一般设定为:
            Print Location为空;
            Print Occurrence为 First、New Page。        通常需要设定主表的常规Band的ControllerBand为主表对应的DataBand。        对于细节表的行头和分组统计一般采用的是常规Band,对于细节表表体则一般采用
    的是DataBand。
            细节表的行头常规Band的BandStyle属性一般设定为:
            Print Location为Body Header;
            Print Occurrence为 First、New Page。
            细节表的DataBand的BandStyle属性一般设定为:
            Print Location为Detail;
            Print Occurrence为 First。
            细节表的分组统计常规Band的BandStyle属性一般设定为:
            Print Location为Body Footer;
            Print Occurrence为 First。        通常需要设定细节表的行头常规Band的ControllerBand为细节表对应的DataBand。
            需要设定细节表的DataBand的ControllerBand为主表对应的DataBand。
            需要设定细节表的分组统计常规Band的ControllerBand为细节表对应的DataBand。        细节表与主表的挂接主要是靠设定细节表对应的DataBand以下三个属性:
            DetailKey:细节表中与主表映射的字段名称;
            MasterDateView:主表对应的数据视图的名称;
            MasterKey:主表中与细节表映射的字段名称。********************************
    RAVE Report报表实现分组统计 
    RAVE Report报表实现分组统计
    1、设置数据源,名称为DataView1。
    2、在报表设计器中添加一个DataBand控件,名称为DataBand1,一个Band控件,名称为Band1.
    3、设置DataBand的DataView值为DataView1.
    4、在DataBand中添加数据字段,设置字段对应的DataView为DataVie1,DataField为各字段名称.
    5、设置Band的ContrallerBand值为DataBand1,GroupView值为DataView1,GroupKey为需要分组的PK键值。
       好了,别忘记最重要的一步,设置RePrintLocs值为GroupFooter.
    6、在Band区域中添加一个CalcText分组小计字段,设置Band的ContrallerBand值为DataBand1,DataView值为DataView1,DataFiled值为需要小计的字段值。
    ****************************
    下面简单说一下它的方便吧:分组汇总在页面上先加入一个Region1,在Region1中加入两个Band和一个DataBand,DataBand加入时在两个Band中间;两个Band的ControllerBand属性为DataBand1。第一个Band1的BandStyle属性中Print Location选中Body HeaderPrint Occurrence选中First、New Page第二个Band2的BandStyle属性中Print Location选中Group FooterPrint Occurrence选中FirstGroupDataView属性设为DataView1GroupKey属性设为你要汇总的“分组字段”DataBand属性设置DataView属性设为DataView1Print Location为空Print Occurrence选中First如需要汇总求和可以Band2中加入CalcText1,CalcType属性默认为ctSum(求和),再设置好DataView,DataField 这样就完成了简单的分组汇总了。