原来这里还有,在table或query中控制即可

解决方案 »

  1.   

    jacket008(寻梦) 
     原来这里还有,在table或query中控制即可
      

  2.   

    如果用Ado的话比较好控制,就像asp那样分页
      

  3.   

    不是GRID以控制完全的,要通过数据源来控制每次提取的数据记录数,如要多层构结中,通知过在DataSetProvider1的事件中写代码来控制。
      

  4.   

    使用ADO就行了,但DBGrid不支持分页功能。你可以用StringGrid之类的来代替
      

  5.   

    如果是多层则首选cds
    如果是普通C/S则自己控制Table,Query来实现...
      

  6.   

    procedure TRP_WorkPlan_FM.PrintQAfterOpen(DataSet: TDataSet);
    var i:integer;
    begin
             i:=PrintQ.RecordCount
             while (i mod 20)<>0 do  
                 PrintQ.Append;
                 PrintQ.Post;
                 inc(i);
             end;
    end;
    //每行会显示20隔,当有十条记录时会显示那10条记录和10个空记录
      

  7.   

    在数据库当中增加自动累加的字段
    onclick事件的中 获得最后一条数据的id 如果没有就是显示top 20
    否则的话 根据id的数值来显示后面的20条数据
    我菜鸟可能方法很笨 但是这也是我的思路 高手大侠 不要笑话
      

  8.   

    //假设数据集根据某一个整型的字段“流水号”升序排序
    function SetPage(ds: TADODataSet; iPageSize, iPageIndex: Integer): Boolean;
    //返回值:下一页是否可用
    var
      sTemp: String;
    begin
      with ds do
      begin
        Filtered := False;
        Recordset.PageSize := iPageSize;
        Recordset.AbsolutePage := iPageIndex;
        Filter := '操作信息流水号 >= ' + FieldByName('操作信息流水号').AsString;
        if (Eof = False) then //本页没有内容
          Filter := '1 = 0'
        else
        begin
          sTemp := '';
          MoveBy(iPageSize);
          if (Eof = False) then
            sTemp := ' and 操作信息流水号 < ' + FieldByName('操作信息流水号').AsString;
          Result := (Eof = False);  //下一页是否有记录
          Filter := Filter + sTemp;
        end;
        Filtered := True;
      end;
    end;
      

  9.   

    回复人: angle097113(深思不解) ( ) 信誉:100  2003-10-18 18:02:00  得分:0 
     
     
      在数据库当中增加自动累加的字段
    onclick事件的中 获得最后一条数据的id 如果没有就是显示top 20
    否则的话 根据id的数值来显示后面的20条数据
    我菜鸟可能方法很笨 但是这也是我的思路 高手大侠 不要笑话
    这种方法不是很好,假如我删掉中间的一个,但他的 id好不会变,这样去出来肯定不行了
      
     
      

  10.   

    大力的数据分页:
    数据分页
    declare @SQLStr varchar(8000)
    set @SQLStr='SELECT Top '+cast(@每页大小 as varchar)+' * FROM 表 WHERE 主键列 NOT IN (SELECT TOP '+cast((@每页大小-1)*@第几页 as varchar)+' 主键列 from 表 )'
    exec(@SQLStr)
      

  11.   

    你用dbExpress中的SimpleDataSet,
    或者用 ClientDataSet,
    在這倆個的屬性中有PactetRecords,你將它設為20,
    在open之后,沒當你點wwdbgrdi的Scoll時候,他會自動的在加入下20筆資料.