zt:用RAVA做主从关系报表

用RAVA做主从关系报表

 

-----------------------------------------------------------------------------------------------------------

参考资料

1.在窗体上加RvProject1,RvSystem1,

  RvProject1.Engine:=RvSystem1

  RvProject1.LoadDesigner:=False

  RvProject1.ProjectFile:='C:/MyRave/Project1.rav' 

2.在datamodule1中加table1,table2,RvTableConnection1,RvTableConnection2,

  table1连上DBDEMOS数据库的 表customer[主表],table2连上DBDEMOS数据库的 表orders[从表]

3.设table2.filteroptions:=[foNoPartialCompare],

  RvTableConnection1:

  RvTableConnection1.Runtimevisibility:=rtEndUser

  RvTableConnection1.table:=table1

  RvTableConnection2.Runtimevisibility:=rtEndUser

  RvTableConnection2.table:=table2

4.在Page1:Page Component的属性页上设

  Page1.bin:=Middle Tray

  Page1.PagerSize:=Custom

5.在RaveReport的设计环境中

  加DataView1,Dataview1连RvTableConnection1

  加DataView2,Dataview2连RvTableConnection2

6.在RaveReport的设计环境中

  在page1上加Region1,Databand1,Databand2,在Databand1,Databand2上加数据显示控件

7.在Databand1,Databand2上设

  Databand1.dataview:=DataView1

  Databand2.ControllerBand:=Databand1

  Databand2.dataview:=dataview2

  Databand2.DetailKey:=Custno

  Databand2.MasterDataView:=dataview1

  Databand2.MasterKey:=Custno

8.设DataText控件

  DataText1.DataField:=custno

  DataText1.Dataview:=dataview1

  DataText1在databand1上

  DataText2.DataField:=custno

  DataText2.Dataview:=dataview2

  DataText2在databand2上 

9.设databand1,databand2

  在databand1的属性框上点击属性Bandstyle,会弹出对话框,选Print Occurrence下的First,New Page

  在databand2的属性框上点击属性Bandstyle,会弹出对话框,选Print Occurrence下的First,

  Print Location下的Detail

按上述步骤就可以做出一张主从报表

目前我知道的有两中做法:
第一
不要在前台设置硬性质的MastDetail,也就是说不要通过DataSet的MastSource属性来设置
要不然他死也不出来,前台通过在主表的DataSet的AfterScroll下面
动态过滤子表明细,使用filter,或者SQL查询不要用SetRange
报表格式设置通过放置两个DataBand,把明细表的DataBand的Controllerband
指向主表的DataBand,点BandStyle属性,钩上Detail;
第二
直接在报表中设置,前台不要任何代码,
上面步骤不变,下面设置MasterKey
masterKey为主表的Key,DataView
DetailKey为从表Key
但是不支持复合主键

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值