假如DBGrid和DataSource连接,DataSource和ADODataSet1连接。
ADODataSet1.Open;
ADODataSet1.Recordset.PageSize := 10;
ADODataSet1.Recordset.AbsolutePosition := 1;
显示第一页
ADODataSet1.Recordset.PageSize := 10;
ADODataSet1.Recordset.AbsolutePosition := 11;
显示第二页
ADODataSet1.Open;
ADODataSet1.Recordset.PageSize := 10;
ADODataSet1.Recordset.AbsolutePosition := 1;
显示第一页
ADODataSet1.Recordset.PageSize := 10;
ADODataSet1.Recordset.AbsolutePosition := 11;
显示第二页
我使用你的方法不行吗?
dbgrid仍然全部显示。
在程序中我调用了STRINGGRID控件。
源程序如下:
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, ADODB,adoint;type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
StringGrid1: TStringGrid;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
var
i,r:integer;
rs:ADOInt.recordset;
begin
adoquery1.Recordset.PageSize:=10;
adoquery1.Recordset.AbsolutePage:=1;这里的值变动,STRINGGRID的值也变
rs:=adoquery1.recordset;
r:=0;
for i:=1 to 10 do
begin
stringgrid1.Cells[r,0]:=rs.fields.get_item('xxx').Value;
inc(r);
rs.movenext;
end;end;end.