DBGRID中實現下拉列表

技巧之一:

在DBGrid 中實現類DBComboBox列表方法要實現的功能:在DBGrid網格中輸入字段時,單擊字段可出現一個下拉列表(類似於DBComboBox),用戶可從中選擇需要的字段內容,列表框中是固定的幾個選項如男、女等。實現方法舉例:假如數據表中有一個“性別”字段,我們讓這個字段具有下拉列表功能。在窗體上放置Table、DataSource、DBGrid組件各一個,將三者搭配起來,不用多講吧。 雙擊DBGrid1, 在彈出的Editing DBGrid1.Columns窗口中,單擊Add all Fields 按鈕, 將Table1的所有字段添加到DBGrid1中。在Editing DBGrid1.Columns窗口,單擊選擇一個字段如“性別” ,在Object Inspector窗口中, 單擊PickList屬性後的省略號,在Strings list editor窗口中輸入兩行,分別爲“男”、“女” ,關閉Strings list editor窗口。 將Table1的Active屬性設定爲True,然後運行程序,鼠標單擊DBGrid1中某個記錄的性別字段,將會出現一個下拉列表,列表中選項爲“男”、“女”,從中選擇一個就可以了,也可以手工輸入字段內容

技巧之二:

在DBGrid 中實現類DBLookUpComboBox列表的方法。技巧一中的方法適用於選項比較少的字段的表格輸入,如果有上千種商品名稱,手工輸入顯然是不合適的,這時我們使用查找字段來實現。下拉列表的內容來自另外一個數據表的相應字段值,比如來自事先製做好的商品名稱數據表。 實現方法:在上面例子的基礎上,再添加一個數據集組件Table2,設定其table屬性爲商品名稱數據表。雙擊Table1, 在彈出的Form1.Table1窗口中,鼠標右鍵單擊彈出快捷菜單,選擇 Add All Fields菜單項,將所有的字段添加,也可選擇部分字段,單擊“OK”按鈕返回。在Form1.Table1窗口中,單擊鼠標右鍵,從快捷菜單中選擇“New field”,在“New field”窗口中,添加一個新的查找字段,設定其Name屬性如“spmc”,類型爲String。選擇其“Field Type”爲“LookUp”。在“Field Definition”中設定如下:Key Field選擇“商品名稱”,此字段是一漢字爲字段名的字段,是Table1中的字段。在DataSet中選擇“Table2”,在LookUp keys中選擇"spmc",此字段的內容是商品名稱,是Table2中的字段。Result Field選擇" spmc"。設定好上述選項後,單擊“OK”按鈕返回Form1.Table1窗口。在Form1.Table1窗口中,鼠標單擊選擇“商品名稱”字段,在Object Inspector 窗口中設定其Visible屬性爲False。爲的是讓新增的查找字段spmc來代替它。在Form1.Table1窗口中,鼠標單擊選擇“spmc”字段,在Object Inspector 窗口中設定其DisplayLabel屬性爲“商品名稱”,讓其代替“商品名稱”字段。將Table1的Active屬性設定爲True,然後運行程序,鼠標單擊DBGrid1中某個記錄的商品名稱字段,將會出現一個下拉列表,列表中選項爲所有的商品名稱,這些藥品名稱來自Table2的數據表,但不能手工輸入商品名稱。 上面兩種方法的不同之處在於:用PickList屬性設置的下拉列表,在DBGrid中可手工輸入下拉列表中沒有的數值,適用於較少的選擇項。用查找字段的方法得到的下拉列表在DBGrid中不能手工輸入下拉列表中沒有的數值,適用於較多的選擇項。

發佈了15 篇原創文章 · 獲贊 3 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章