bestlong 怕失憶論壇

 

 

搜索
bestlong 怕失憶論壇 論壇 Delphi Delphi 中用 Listview 顯示資料庫數據
查看: 4682|回復: 0
go

Delphi 中用 Listview 顯示資料庫數據 [複製鏈接]

Rank: 9Rank: 9Rank: 9

1#
發表於 2006-11-8 13:00 |只看該作者 |倒序瀏覽 |打印
本實例演示如何在TListView元件中顯示資料庫的內容。

  首先創建一個新的項目,然後向窗體上添加一個TQuery元件和一個TListView元件。添加元件後的窗體如圖1所示。


圖1 主介面

設定TQuery元件的DatabaseName屬性設定為DBDEMOS,SQL屬性設定為select * from country,Active屬性設定為True。然後添加程式初始化代碼如下:


  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var
  3.  i:Integer;
  4.  TempColumn:TListColumn;
  5.  TempItem:TListItem;
  6. begin
  7.  ListView1.ViewStyle:=vsReport;
  8.  for i:=0 to Query1.FieldCount-1 do
  9.  begin
  10.   TempColumn:=self.ListView1.Columns.Add;
  11.   TempColumn.Caption:=Query1.Fields[i].FieldName;
  12.  end;
  13.  Query1.First;
  14.  while not Query1.Eof do
  15.  begin
  16.   TempItem:=self.ListView1.Items.Add;
  17.   TempItem.Caption:=Query1.Fields[0].AsString;
  18.   for i:=1 to Query1.FieldCount-1 do
  19.   begin
  20.    TempItem.SubItems.Add(Query1.Fields[i].AsString);
  21.   end;
  22.   Query1.Next;
  23.  end;
  24. end;
複製代碼

程式首先透過ListView1.ViewStyle:=vsReport語句設定TListView元件的ViewStyle屬性值為vsReport。然後透過第1個循環中的TempColumn:=self.ListView1.Columns.Add和TempColumn.Caption:=Query1.Fields.FieldName語句在TListView元件的標題行中顯示資料庫中字段的名稱。最後透過一個循環逐行輸出資料庫的所有數據。

  程式代碼如下:
  1. unit Unit1;
  2. interface
  3. uses

  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, DB, ADODB, Grids, DBGrids, ComCtrls, DBTables;

  6. type
  7.  TForm1 = class(TForm)
  8.  Query1: TQuery;
  9.  ListView1: TListView;
  10.  procedure FormCreate(Sender: TObject);
  11. private
  12.  { Private declarations }
  13. public
  14.  { Public declarations }
  15. end;

  16. var
  17.  Form1: TForm1;
  18.  implementation
  19.  {$R *.dfm}

  20. procedure TForm1.FormCreate(Sender: TObject);
  21. var
  22.  i:Integer;
  23.  TempColumn:TListColumn;
  24.  TempItem:TListItem;
  25. begin
  26.  ListView1.ViewStyle:=vsReport;
  27.  for i:=0 to Query1.FieldCount-1 do
  28.  begin
  29.   TempColumn:=self.ListView1.Columns.Add;
  30.   TempColumn.Caption:=Query1.Fields[i].FieldName;
  31.  end;
  32.  Query1.First;
  33.  while not Query1.Eof do
  34.  begin
  35.   TempItem:=self.ListView1.Items.Add;
  36.   TempItem.Caption:=Query1.Fields[0].AsString;
  37.   for i:=1 to Query1.FieldCount-1 do
  38.   begin
  39.    TempItem.SubItems.Add(Query1.Fields[i].AsString);
  40.   end;
  41.   Query1.Next;
  42.  end;
  43. end;
  44. end.
複製代碼


保存文件,然後按F9鍵運行程式,程式運行結果如圖2所示。


圖2 程式運行結果

from: http://big5.yesky.com/b5/dev.yesky.com/450/2289950.shtml
‹ 上一主題|下一主題

Archiver|怕失憶論壇

GMT+8, 2024-6-1 16:58 , Processed in 0.012208 second(s), 10 queries .

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc.