1,faster report 怎么使memo长度跟对应的数据字段长度一样?一个个去拉memo的长度,很烦。2,faster report 里的band 没有上,下,左,右的边框线吗?就像Qreport里的那样?
 如果需要那样的线是不是要用draw lines自己画一条?3,用了一个master data ,一个detail data ,一个report summary ,对应的数据集已做了关联。
report summary 上放了[SUM([ADOQuery2."NEDQTY"])]
adoquery2是明细数据,但是sum的结果不是所有的明细数据和,而是每条master 数据下的第一条detail数据的和???4,cross data 怎么是竖直的?这个是用来做什么的?ps. 我之前都是用qreport做报表的,fastreport 是刚学的。

解决方案 »

  1.   

    1,Memo有个AutoWidth属性
    2,报表编辑器里面最上面,可以选择边框
    3,4,自己搜索FastReport的帮助,网上有个2.4x版本的中文使用帮助的,研究一下吧
      

  2.   

    先謝謝樓上的回複
    但是
    1,memo的autowidth屬性是根據字段的值(注意是值)的長度來確定打印時的長度。而我要的是這個字段定義的長度。
    我在报表編輯器时里点insert DB fields按钮,然后选择一些字段加入。
    可是有时候它会自动调好各个memo的长度(我就是要这种效果),有时候却不会(每个memo的width都是48)2,你说的选择边框是不是指
    top frame line,left frame line,...all frame lines 这几个按钮?
    但是这几个是设置memo的边框的,不是整条detail data 或page header的边框啊3,4 ,中文帮助我也有在看,但问题还解决不了。
      

  3.   

    问题1在frReport1.OnGetValue事件里写入如下代码:procedure TDataForm.frReport1GetValue(const ParName: String;
      var ParValue: Variant);
    begin
      if ParName = 'Cell' then//如果Memo的变量名为Cell,则进行赋值操作
        ParValue := Table1.Fields[frUserDataset1.RecNo].Value;
      if ParName = 'Header' then
        ParValue := Table1.Fields[frUserDataset2.RecNo].FieldName;
    end;这个事件在获得fastreport数据时被触发,你也可以写点别的进去。这样你就能取得相应的数据了。
    问题2:
    这要看你怎么利用Memo的边框了,表格其实不过也就是由一个一个边框构成的。你嫌麻烦也可以画线,不过没那么美观。问题3:
    如果你了解问题1的OnGetValue事件,你可以自己写代码来获得。其他方法我没深入研究,你可以自己摸索。问题4:
    Cross Data本身是用来交叉数据的,你最好看一下FastReport自带的DEMO,在安装目录下的Demo目录里,很详细的。
      

  4.   

    >>这个事件在获得fastreport数据时被触发
    这句话应该为:
    这个事件在fastreport获得数据时被触发
      

  5.   

    2.划线简单,如果采用all frame lines方式,那么可以用Ctrl+方向和Shift+方向仔细的调整了。