查询后,在DBGridEh中有很多条记录,现在每一条记录要打印成一张卡片,即套打,全部套打很简单。但是怎样在DBGridEh中选择几条记录用fastreport进行套打?而不是每一条记录套打(不要说重新查询过)

解决方案 »

  1.   

    那就通过BookMark做定位然后打印当前选中的记录。
      

  2.   

    很简单啊,DBGridEh里面增加一列选中checkbox属性即可,然后用GetBookMark,遍历clientdataset,此列被选中的(checkbox为true)则打印。
      

  3.   

    xjjrocker(了无痕) ,大哥,具体怎样搞啊?
      

  4.   

    FastReport的例子中就有这个功能。
      

  5.   

    用dbgrideh1.selectrows
    procedure tform4.button6click(sender:tobject);
    var
    i:integer;
    begin
     for i:=0 to dbgrideh1.selectrows.count-1 do 
      begin
       adoquery1.book:=dbgrideh1.selectrows[i];
       frreport1.loadfromfile(extractfilepath(application.exename)+'my.frf');
       frreport1.preparereport;
       frreport1.printpreparedreportdlg;
      end;
    end;