- 註冊時間
- 2006-3-13
- 最後登錄
- 2025-1-10
- 在線時間
- 673 小時
- 閱讀權限
- 200
- 積分
- 417
- 帖子
- 1107
- 精華
- 0
- UID
- 2
  
|
本實例演示如何在TListView元件中顯示資料庫的內容。
首先創建一個新的項目,然後向窗體上添加一個TQuery元件和一個TListView元件。添加元件後的窗體如圖1所示。

圖1 主介面
設定TQuery元件的DatabaseName屬性設定為DBDEMOS,SQL屬性設定為select * from country,Active屬性設定為True。然後添加程式初始化代碼如下:
- procedure TForm1.FormCreate(Sender: TObject);
- var
- i:Integer;
- TempColumn:TListColumn;
- TempItem:TListItem;
- begin
- ListView1.ViewStyle:=vsReport;
- for i:=0 to Query1.FieldCount-1 do
- begin
- TempColumn:=self.ListView1.Columns.Add;
- TempColumn.Caption:=Query1.Fields[i].FieldName;
- end;
- Query1.First;
- while not Query1.Eof do
- begin
- TempItem:=self.ListView1.Items.Add;
- TempItem.Caption:=Query1.Fields[0].AsString;
- for i:=1 to Query1.FieldCount-1 do
- begin
- TempItem.SubItems.Add(Query1.Fields[i].AsString);
- end;
- Query1.Next;
- end;
- end;
複製代碼
程式首先透過ListView1.ViewStyle:=vsReport語句設定TListView元件的ViewStyle屬性值為vsReport。然後透過第1個循環中的TempColumn:=self.ListView1.Columns.Add和TempColumn.Caption:=Query1.Fields.FieldName語句在TListView元件的標題行中顯示資料庫中字段的名稱。最後透過一個循環逐行輸出資料庫的所有數據。
程式代碼如下:
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, DB, ADODB, Grids, DBGrids, ComCtrls, DBTables;
- type
- TForm1 = class(TForm)
- Query1: TQuery;
- ListView1: TListView;
- procedure FormCreate(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.dfm}
- procedure TForm1.FormCreate(Sender: TObject);
- var
- i:Integer;
- TempColumn:TListColumn;
- TempItem:TListItem;
- begin
- ListView1.ViewStyle:=vsReport;
- for i:=0 to Query1.FieldCount-1 do
- begin
- TempColumn:=self.ListView1.Columns.Add;
- TempColumn.Caption:=Query1.Fields[i].FieldName;
- end;
- Query1.First;
- while not Query1.Eof do
- begin
- TempItem:=self.ListView1.Items.Add;
- TempItem.Caption:=Query1.Fields[0].AsString;
- for i:=1 to Query1.FieldCount-1 do
- begin
- TempItem.SubItems.Add(Query1.Fields[i].AsString);
- end;
- Query1.Next;
- end;
- end;
- end.
複製代碼
保存文件,然後按F9鍵運行程式,程式運行結果如圖2所示。

圖2 程式運行結果
from: http://big5.yesky.com/b5/dev.yesky.com/450/2289950.shtml |
|