怎样用QuickRep实现打印DBGird中选中的多行记录。

解决方案 »

  1.   

    var
      i                 : integer;
      booklist1     : tbooklisteh;
      book1         : tbook;
      SS,SS1            : STRING;begin
            book1 := qry_Customer.GetBook;        ss := 'select distinct * from customer_power where id in (';        booklist1 := dbg_Customer.selectedrows;
            for i := 0 to booklist1.Count - 1 do
            begin
              qry_Customer.GotoBook(pointer(booklist1[i]));
              if i <> booklist1.Count - 1 then
                ss1 := ss1 + '''' + qry_Customer.fieldbyname('id').asstring + '''' + ','
              else
                ss1 := ss1 + '''' + qry_Customer.fieldbyname('id').asstring + '''';
            end;
            qry_Customer.GotoBook(book1);
            qry_Customer.FreeBook(book1);
            ss := ss + ss1 + ')  ';        adoquery1.Close;
            adoquery1.SQL.Clear;
            adoquery1.SQL.Add(ss);
           .QuickRep1.print;END;说明:QUICKREP1的数据源为adoquery1
          qry_Customer为一个DBGRID,其数据源为qry_Customer