如何在dbgrid里面实现分页显示功能

解决方案 »

  1.   

    将与dbgrid关联的数据集table,query,adotable,adoquery等等分页就可以。如用adoquery:
    adoquery1.Recordset.PageSize; //页面大小
    adoquery1.Recordset.PageCount;//页面数
    adoquery1.Recordset.AbsolutePage;//当前页面位置
      

  2.   

    procedure TForm1.Button6Click(Sender: TObject);
    begin
      adodataset3.Recordset.AbsolutePage:=1;
      showdata;
    end;procedure TForm1.showdata;
    var
      i,j:integer;
      rs:adoint.recordset;
    begin
      adodataset1.Close;
      adodataset1.Open;
      rs:=adodataset3.Recordset;
      for i:=1 to rs.PageSize do
        begin
          adodataset1.append;
          for j:=0 to rs.Fields.Count-1 do
            adodataset1.FieldByName(adodataset3.Fields[j].fieldName).Value:=rs.Fields.get_item(adodataset3.Fields[j].fieldName).Value;
          rs.MoveNext;
          if rs.EOF then
             break;         
        end;
       adodataset1.First;   
    end;
    利用下面三个属性就可以做到:
      adodataset1.Recordset.PageSize   //设置页面大小
      adodataset1.recordset.PageCount  //返回页面数目
      adodataset1.recordset.AbsolutePage //指定当前页面位置
      

  3.   

    好像只有ado对象才有recordset属性,ttable控件无此属性