
不用再說用SQL陳述句實作分頁了,我的表中根本就沒有ID欄位,不知道能否用ADOQuery 的屬性實作圖中的需求,如果可以的話,求大神給出詳細步驟!http://ymg97526.blog.163.com/blog/static/1736581602011332353527/這個鏈接是別人用DELPHI實作的,但我用的是C++BUILDER,誰能給出在C++BUILDER中的代碼啊!
uj5u.com熱心網友回復:
var Page:Integer=1;
//自定義事情
procedure TForm1.ShowRecordSetData;
var i,j:Integer;
Item:TListItem;
begin
if Page<1 then Page:=1;
if Page>ADOQuery1.Recordset.PageCount then Page:=ADOQuery1.Recordset.PageCount; //PageCount:頁面總數
ADOQuery1.Recordset.AbsolutePage:=Page; //AbsolutePage:指定當前頁
Edit1.Text:=IntToStr(Page);
ListView1.Items.Clear;
for i:=1 to ADOQuery1.Recordset.PageSize do
begin
Item:=Listview1.Items.Add;
Item.Caption:=IntToStr(ADOQuery1.Recordset.AbsolutePosition); //AbsolutePosition:記錄指標位置
Item.ImageIndex:=1;
for j:=0 to ADOQuery1.FieldCount-1 do
begin
if ADOQuery1.Fields[j].DataType=ftFloat then
Item.SubItems.Add(SysUtils.FormatFloat('#,###,###.00',ADOQuery1.Recordset.Fields[j].Value))
else
Item.SubItems.Add(ADOQuery1.Recordset.Fields[j].Value);
end;
ADOQuery1.Recordset.MoveNext;
if ADOQuery1.Recordset.EOF then Exit;
end;
//Edit1.Text:=IntToStr(Page); 這句要置前,因此當Recordset.EOF為真時退出,以至于無法對Exit1進行賦值
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Page:=1;
ShowRecordSetData;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
System.Dec(Page); //Page:=Page-1;
ShowRecordSetData;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
System.Inc(Page);
ShowRecordSetData;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Page:=ADOQuery1.Recordset.PageCount;
ShowRecordSetData;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Page:=SysUtils.StrToIntDef(Edit1.Text,0);
ShowRecordSetData;
end;
procedure TForm1.FormCreate(Sender: TObject);
var Col:TListColumn;
i:Integer;
begin
ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'Data Source=e:\mcmygs.mdb;'+
'Persist Security Info=False;'+
'Jet OLEDB:Database Password=';
ADOQuery1.Close;
ADOQuery1.SQL.Text:='Select fphm,bhsje,se,jshj from zyfp';
ADOQuery1.Open;
//ADOQuery1.Recordset:頁面定位功能;可以將資料集進行分頁處理
ADOQuery1.Recordset.PageSize:=12; //每一頁顯示的記錄數;需在資料打開后對其進行設定
Label2.Caption:=Format('總共 %d 頁',[ADOQuery1.Recordset.PageCount]);
//TViewStyle = (vsIcon, vsSmallIcon, vsList, vsReport);
ListView1.ViewStyle:=vsReport;
Col:=Listview1.Columns.Add;
Col.Caption:='No.';
for i:=0 to System.Pred(ADOQuery1.Fields.Count) do
begin
Col:=Listview1.Columns.Add;
Col.Caption:=ADOQuery1.Fields[i].FieldName;
Col.Alignment:=taRightJustify;
Col.AutoSize:=True;
end;
Listview1.RowSelect:=True; //選擇整行
Listview1.GridLines:=True; //顯示網線
Listview1.SmallImages:=ImageList1;
end;
先翻譯一段,拋磚引玉
//var Page:Integer=1;
int Page=1;
//自定義事情
//procedure TForm1.ShowRecordSetData;
void TForm1::ShowRecordSetData()
{
//var i,j:Integer;
int i,j;
//Item:TListItem;
TListItem *Item;
// Item=new TListItem();
//begin
// if Page<1 then Page:=1;
if ( Page<1 )Page=1;
// if Page>ADOQuery1.Recordset.PageCount then
if(Page>ADOQuery1->Recordset->PageCount )
//Page:=ADOQuery1.Recordset.PageCount; //PageCount:頁面總數
Page=ADOQuery1->Recordset->PageCount;
//ADOQuery1.Recordset.AbsolutePage:=Page; //AbsolutePage:指定當前頁
ADOQuery1->Recordset->AbsolutePage=Page;
//Edit1.Text:=IntToStr(Page);
Edit1->Text=IntToStr(Page);
//ListView1.Items.Clear;
ListView1->Items->Clear();
//for i:=1 to ADOQuery1.Recordset.PageSize do
for(i=1;i<=ADOQuery1.Recordset.PageSize ;i++)
// begin
{
//Item:=Listview1.Items.Add;
Item=Listview1->Items->Add();
//Item.Caption:=IntToStr(ADOQuery1.Recordset.AbsolutePosition); //AbsolutePosition:記錄指標位置
Item->Caption=IntToStr(ADOQuery1->Recordset->AbsolutePosition);
Item->ImageIndex=1;
for (j:=0 ;j<=ADOQuery1.FieldCount-1;j++ )
{
if (ADOQuery1->Fields[j]->DataType=ftFloat)
Item->SubItems->Add(SysUtils->FormatFloat("#,###,###.00",ADOQuery1->Recordset->Fields[j]->Value))
else
Item->SubItems->Add(ADOQuery1->Recordset->Fields[j]->Value);
}
ADOQuery1->Recordset->MoveNext();
if( ADOQuery1->Recordset->EOF ) return;
};
//Edit1->Text:=IntToStr(Page); 這句要置前,因此當Recordset.EOF為真時退出,以至于無法對Exit1進行賦值
}
uj5u.com熱心網友回復:
delphi能實作,cb也能實作,都有這個控制元件,用那幾個屬性、和方法控制就行了uj5u.com熱心網友回復:
那個是LIstView吧?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/111516.html
標籤:數據庫及相關技術
