bestlong 怕失憶論壇
標題:
Delphi 中用 Listview 顯示資料庫數據
[打印本頁]
作者:
bestlong
時間:
2006-11-8 13:00
標題:
Delphi 中用 Listview 顯示資料庫數據
本實例演示如何在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
歡迎光臨 bestlong 怕失憶論壇 (http://www.bestlong.idv.tw/)
Powered by Discuz! X1.5