我要为一个C/S程序加入一个报表打印模块,因为将来要实现套打,所以该程序对报表的要求比较高。开始打算使用水晶报表,可是苦于delphi下相关资料太少,所以改用fastreport。
    因为是第一次接触,所以基本上什么都不明白,希望各位高手能比较详细的说一下从报表设计到打印控制的整个编程流程。    另外还有几个问题如下:
    1 frReport中的dataset只能连接一个数据源,在一个报表中怎么包含多个数据
      表中的数据项?
    2 是否先设计好表的模版,在运行时后调入并加入数据?
    3 在使用fastreport时候发现没有边框,就算是打开文本对象的边框后,效果 
      也不好,怎么样在设计报表的时候画出类似excel下面的有边框的表格?

解决方案 »

  1.   

    流程:
       1)新建一个Application
       2)添加一个frReport1
       3)添加一个DataModule1
       4) 在DataModule1中放上Table1,DataSource1,frDBDataSet1
          Table1(databasename=DBDEMOS;tablename=CUSTOMER.DB);
          DataSource1.dataset=table1;
          frDBDataSet1.datasource= datasource;
       5) 设计报表
          添加一个band,选择master data,设置master data 的数据源    DataModule1.frDBDataSet1 , 然后在master data 中放入多个数据项(TfrMemoView),双击数据项可设置其对应的表的字段或变量(需自己事先指定)。 
          还可添加其他类型的band;
          保存报表1.frf
       6) 预览:
        frReport1.LoadFromFile('1.frf');
        Report.Preview := nil 
        if Report.PrepareReport then
             Report.ShowPreparedReport;
       7)打印:
        frReport1.LoadFromFile('1.frf');
        Report.Preview := nil 
        if Report.PrepareReport then
             Report.PrintPreparedReportDlg;1.不需要设置frReport的dataset属性,只需使用frDBDataSet连接不同数据源,这样在frReport中就可以通过使用不同的frDBDataSet来连接不同的数据源;
    2.是的,设计好模板后,使用LoadFromFile载入;
    3.把每一项的边框都打开,调整好各数据项的位置即可。
      

  2.   

    多谢高人指教,我会尽快结贴的
    另外请问哪里有fastreport的指导资料?
    我看了fastreport开发指南,感觉还是不够
      

  3.   

    你可以在csdn上面打入关键字进行搜索一下有关FastReport
    或者
    使用 http://www.google.com,http://www.baidu.com 搜索,对你会有所帮助的!