如数据源读出的值是
A  2
B  3打印出来的效果为
A  2
A  2
B  3
B  3
B  3

解决方案 »

  1.   

    按你的业务逻辑生成一个临时表,fastreport打印这个临时表
      

  2.   

    同意,在数据处理阶段就做好数据,不要指望fastreport有delphi的数据处理能力。
      

  3.   

      我也正想要这种的打印效果,要是用到临时表的话,那容易,
      要是你不要浏览的话,用一个for循环就行了  而我想的是在fr下写事件就行了的,不是有个newpage的吗,我怎么找不到啊?
      
      

  4.   

    菜单中的  newpage  可以
          。loadfrom(...)之后
    用这个添加页面
          self.frxReport1.Page.Create()      //可能要带参数,没试过
    用这个来访问指定页面
          self.frxReport1.Pages[0]
    用这个得到页面总数
    self.frxReport1.PagesCount
            
      

  5.   

    我觉得可以啊不知道你的判断逻辑
    写个例子:
    Memo2放你的第一列,Memo3放你的第二列
    procedure Memo1OnAfterData(Sender: TfrxComponent);      
    begin
      Memo2.lines.clear;    
      Memo3.lines.clear; 
      
      Memo2.lines.add(Trim(<Data."C_1">));
      Memo3.lines.add(Trim(<Data."C_2">));
      if Trim(<Data."C_1">)='A' then
      begin
        Memo2.lines.add(Trim(<Data."C_1">));
        Memo3.lines.add(Trim(<Data."C_2">));
      end
      else if Trim(<Data."C_1">)='B' then
      begin
        Memo2.lines.add(Trim(<Data."C_1">));
        Memo3.lines.add(Trim(<Data."C_2">));
        Memo2.lines.add(Trim(<Data."C_1">));
        Memo3.lines.add(Trim(<Data."C_2">));
      end;
    end;