程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi中數據網格DBGrid應用(2)

Delphi中數據網格DBGrid應用(2)

編輯:Delphi

二、DBGrid中的查找字段

所謂查找字段(LookUpFIEld),即DBGrid 中的某個關鍵字段的數值來源於另外一個數據庫的相應字段。運用查找字段技術,不僅可以有效的避免輸入錯誤,而且DBGrid的顯示方式更為靈活,可以不顯示關鍵字段,而顯示源數據庫中相對應的另外一個字段的數據。

例如,我們在DBGrid中顯示和編輯職工信息,包括職工編號、職工姓名、籍貫、所在單位編號,而單位編號來源於另一個數據庫表格——單位庫,稱“單位編號”為關鍵字段。如果我們直接顯示和編輯單位編號的話,將會面對1、2、3等非常不直觀的數字,編輯時極易出錯。但是如果顯示和編輯的是單位庫中對應的單位名稱話,將非常直觀。這就是DBGrid的所支持的查找字段帶來的好處。

實現DBGrid的查找字段同樣不需要任何語句,具體設計步驟如下:

1、在窗體上放置Table1、Table2、DataSource1、DBGrid1、DBNavigator1等控件對象,按下表設置各個對象的屬性:

對象 屬性 設定值 Table1 DataBase sy1 TableName zgk.dbf //職工信息庫 Table2 DataBase sy1 TablenAME dwk.dbf //單位信息庫 DataSource1 DataSet Table1 DbGrid1 DataSource DataSource1 DBNavigator1 DataSource Datasource1

2、雙擊Table1

在彈出的Form1.Table1窗口中,用右鍵彈出快捷菜單,單擊AddFIElds菜單項;選擇所有的字段後,按OK按鈕。

3、修改第2步新增字段的DisplayLabel屬性。以Table1ZGBH字段為例,在ObjectInspector窗口中選擇Table1ZGBH

修改屬性DisplayLabel=職工編號,其余字段類似。

4、設置Table1DWBH.Visible=False。

5、在Form1.Table1窗口,用右鍵彈出快捷菜單,單擊NewFIEld菜單項,新增一個查找字段DWMC,在彈出的窗口設置相應的屬性

按OK按鈕確認;在ObjectInspector窗口,設置Table1DWMC.DisplayLabel=單位名稱。

6、在Form1.Oncreate事件中寫 入語句:

Table1.Open;

7、按F9運行,當光標移至某個記錄的單位名稱字段時,用鼠標點擊該字段,即出現一個下拉列表,點擊右邊的下箭頭,可在下拉列表中進行選擇。在這裡可以看出,下拉列表的內容來自於單位信息庫,並且不能輸入其他內容。

三、DBGrid中的下拉列表和查找字段的區別

雖然DBGrid中的下拉列表和查找字段,都是以下拉列表的形式出現的,但兩者有很大的差別。

1、用PickList屬性設置的下拉列表,它的數據是手工輸入的,雖然也可以在程序中修改,但動態特性顯然不如直接由另外數據庫表格提取數據的查找字段。

2、用PickList屬性設置的下拉列表,允許輸入不屬於下拉列表中的數據,但查找字段中只能輸入源數據庫中關鍵字段中的數據,這樣更能保證數據的完整性。

3、用PickList屬性設置的下拉列表設計較為簡單。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved