你在你打印的表中补满你所需要的空行,在调用QuickReport打印即可

解决方案 »

  1.   

    --我也很菜,以下代码没有测试过
    CREATE proc rep
    @row int--每页要显示的行数
    as
    declare @cou int,@i int,@ie int
    --****************
    create table #temp
                (a varchar(2),
                 b numeric(9,2)
                 )
    --
     insert #temp 
     select a,b from abc
    -- 
    set @cou=@@rowcount            
    --
    set @i=@cou%@row
    if @i>0 
       set @ie=@row-@i
    else if @i=0
       begin
            if @cou>0
              set @ie=0
            else
              set @ie=@row
       end
    while @ie>0 
       begin
           insert #temp values ('',null) 
           set @ie=@ie-1
       end
    --******************
    select * from #temp
    drop table #temp
    GO
      

  2.   

    我也很菜,以下代码为在后台实现的代码(没测试过),
    不知那位有更好的方法.
    CREATE proc abc_rep
    @row int--每页要打印的行数
    as
    declare @cou int,@i int,@ie int
    --****************
    create table #temp
                (a varchar(20),
                 b numeric(9,2),
                 c varchar(10)
                )
    --
     insert #temp 
     select a,b,c from abc
    --
    set @cou=@@rowcount            
    --
    set @i=@cou%@row
    if @i>0 
       set @ie=@row-@i
    else if @i=0
       begin
            if @cou>0
              set @ie=0
            else
              set @ie=@row
       end
    while @ie>0 
       begin
           insert #temp values ('',null,'') 
           set @ie=@ie-1
       end
    --******************
    select * from #temp
    drop table #temp
      

  3.   

    Var
      i,n :integer;
    begin
      with query1 do //Query1为列印用查询
      begin
        close;
        SQL.Clear;
        SQL.Add('select * from MyTable ');
        open;
        first;
      end;
      //以下添加空记录
      n:=query1.RecordCount mod 10 ; //10为每页列行数
      if n<>0 then
        for i:=1 to 10-n do
          query2.appendRecord(['']);//注意打开LiveUpdate及缓冲
        next;
    end;