两种方法:
  1.用继承;
  2.把报表作成dll;

解决方案 »

  1.   

       不知是在预览窗体激活时载入报表,还是在报表预览时调用预览窗体。我想可能是后者,但不知具体的实现过程。 或者是后者?????
         我在报表窗体的uses单元声明了预览窗体,
         在quickrep1.onpreview事件中加入如下代码。
             preview1.qrprinter:=quickrep1.qrprinter;等,在具体运行总是报错。。或者只显示自带的预览窗体,或只显示quickrep1............
         各位高手是否明确指小弟一条出路???????????????
         上面那位bpc的朋友的做法,小弟相当想知道,如果能详细讲解,那求之不得,如果能指出大概思路,我也相当感谢。愿闻其祥
      
                     
                     
      

  2.   

    在onpreview中写入
        form2.preview1.qrprinter:=form1.quickrep1.qrprinter;
    在button1 onclick
      form1.quickrep1.preview
      

  3.   

    我不想介绍我的东西,只想您看到这样的方法做控件了  一次偶然机会,公司几个产品都需使用报表,因而由我主持开发了这样一报表控件,它经过了2,3,4,5版本的升级,又有很多功能的扩充,它目前有十几万行代码,经历了七八个大型项目的使用,减轻了我们太多的工作     使用此控件主要的目的:
    1, 主要目的减轻程序员的工作量;我相信通过此控件简单报表设计只须一分钟不到;
    2, 增加整个系统的稳定性,界面统一;
    3, 减小整个应用程序大小,不必再为一个报表建立一quickrep甚至form;
    4, 动态报表设计,它将随着Dbgrid的变化而变化;
    5, 其它一些优点如:加入图表功能,可设定文字自动居左、中、右;
    6, 在多层架构应用中使用,如CICS,
    7, 支持多表头
    8,  支持EXCEL导入出
    整个报表设计过程:
    1, 统计数据并反应在DBGRID中;
    2, 增加lbs_rep控件,必须指定其两个属性,
       a,Ddbgrid (打印的数据源 如 dbgrid1)
       b:filename(报表样式名,测试时请将rptcomm.prt 拷到c:\,并指定为’c:\rptcomm.rpt’)
    3, 增加如下代码:
       lbs_rep1.clearvar;  //清空变量
       lbs_rep1.add('BM1=1999年12月公司统计总表'); //增加表头,变量名可调整
       lbs_rep1.add('TJ1=统计条件:12月');
       lbs_rep1.add('W1=列表人:张大勇');
       lbs_rep1.execute;  //执行预览与打印;
    就这样简单,如须减变报表样式,请下载rptx.exe来调整;
    属性说明:
    (请不要使用已取消属性,有些属性必须按提示使用)
     (ZC开头为图表属性,新开发)
    属性 例值 说明
    Dbgrid Dbgrid1 需列印的数据源,Tdbgrid,与Mydbgrid互斥
    Dgdposi 0 报表列印的左边位置
    Double Flase 必须设置为False,因与以前版本有关
    Filename C:\rptcomm.prt 报表样式文件位置,在最终应用版本中请将所有样式文件拷贝到应用执行程序当前目录;
    Haspsum False 已取消
    Mydbgrid Mydbgrid1 需列印的数据源,Tmydbgrid,与dbgrid互斥
    Noprint 已取消
    Orientation poPortrait 报表纵横向
    Papesize A4 纸张大小
    Preview True 是否预览
    Psumtext 已取消
    Zcdataset Table1 数据源 Tdataset
    Zcfields partno;cost 图表字段
    Zcfieldcount 2 图表字段数量(必须与Zcfields对应)
    Zchave True 是否含图表
    Zcheight 350 图表高度
    Zcissum True 图表在报表右端还是在底部
    Zcleft -1 图表与报表左端相应位置
    Zctitle 统计总表 图表标题
    Zctop 10 相对高度
    Zctype 4 图表类型
    Zcwidth 400 图表宽度
                                                   Email:[email protected]
    如果想看一下请与我联系,不过没源程序
      

  4.   

    我发表一下自己的看法,只是初学delphi,可能不正确。
    我觉得在delphi自带的qb2demo中使用的方法大概可行。
    该例中在mainform中定义一个报表变量report,然后在程序运行中动态设定
    report:=midiform.quickRep;
    最后在mainform里调用report.preview
    如果你的预览程序接口是一样的,上述方法应该可行
      

  5.   

    我可以给你发一个我用QREPORT的打印程序!
    联系我:[email protected]