在fastreport 打印报表时候,不想在打印的时候弹出的对话框里面设置打印份数,因为这样设置结果是几份相同的报表不在一起,不方便管理,请高手知道的提供一下代码或设置方式,我用fastreport 3.0以上版本的,谢谢!

解决方案 »

  1.   

    在FastReport v2.52 版本中:    
    frReport1.DefaultCopies:=10;
    frReport1.ShowReport;
    就可以实现要求;
    ----------
    但在FastReport3.03版本中:
    frxReport1.PrintOptions.Copies:=10
    frxReport1.ShowReport(true);
    打印时总默认为1,不能实现要求(在报表设计器中把PrintOptions.Copies改为10也没反应)
    =====================
      

  2.   

    其实就是将当前的记录复制一份副本出来
    这样实现:
    先在数据表多加一个标识字段,类型为INT型,本例取名为:codeid,而本例的数据表名为:x_eng;var
      i: Integer;
      tmp: array of Variant;
    begin
     {复制出来的记录codeid取值为1}
     with adoqeruy1 do begin
        DisableControls;
        SetLength(tmp, Fields.Count);
        while not adoqeruy1 do begin
          for i := 0 to FieldCount - 1 do
            tmp[i] := Fields[i].AsVariant;
          Append;
          for i := 0 to FieldCount - 1 do
            Fields[i].AsVariant := tmp[i];
          FieldByName(codeid).Asinteger := 1;
          next;
         end;
       Sort:='姓名';{复制完毕记录后按姓名排序}
       frReport1.ShowReport;
        {删除复制出来的记录}
        ADOCommand1.CommandText:='delete x_eng where codeid=1';
        ADOCommand1.Execute;
       close;
       open;{重新打开一次}
       EnableControls;
     end;end;
      

  3.   

    修正一下,有点笔误:
    while not adoqeruy1 do begin
    改为:
    while not adoqeruy1.eof do begin
      

  4.   

    先多谢GDTOPONE的热情帮助,请问,输出时候是按照我发的图片效果连续输出两份出来吗?