function TFormMain.List(var List: TListView; var Tab: TTabControl;strsql:string;
isNew: boolean): Boolean;
var
q:TAdoQuery;
i,k,TabIndex:integer;
_Item:TListItem;
sList:TStringList;
begin
result:=false;
list.Items.Clear;
TabIndex:=tab.TabIndex;
q:=TAdoQuery.Create(self);
q.Connection:=FormDm.m_Conn;
with q do begin
try
close;
sql.Clear;
sql.Add(strsql);
Active:=true;
RecordSet.PageSize:=_PAGESIZE;
IF IsNew then begin
Tab.Tabs.Clear;
for i:=0 to RecordSet.PageCount-1 do begin
tab.Tabs.Add('第'+inttostr(i+1)+'页');
end ;
TabIndex:=0;
end;
//显示不同的页
i:=(TabIndex*_PAGESIZE);
moveBy(i);
while ((i<=((TabIndex+1)*_PAGESIZE-1)) and (not eof)) do begin
inc(i);
_Item:=List.Items.Add;
//
for k:=0 to Fields.Count-1 do
_item.SubItems.add(Fields[k].AsString);
next;
end;
except
Active:=false;
Free;
exit;
end;
Active:=False;
Free;
end;
Result:=true;
end;