DBGridEh顯示、編輯標記字段

在用Delphi開發數據庫應用過程當中,常常須要用到DBBrid來顯示或編輯數據庫表,但相對於IDE自帶的DBBridDBGridEh顯然要更好用一些(cxDBGrid也一樣好使,這裏只對DBGridEh進行說明)。數據庫

在數據庫表結構設計時,一般會習慣使用整型字段來存儲如已修改已刪除已做廢等具備標記性的信息,好處是佔存儲空間小可擴展性強,缺點是顯示方式不友好,可是,使用DBGridEh的一些設置能夠彌補這個缺陷。設計

假設數據庫裏的表T_Demo裏有一個表示性別的字段Sex,其用0表示1表示2表示未知,用DBGridEh顯示時仍爲012,十分不友好。這時只要作一點美化便可。code

  1. DBGridEh的對應列的KeyList屬性裏分別加入012三個數字,每一個數字一行,用代碼實現的話就是:
//這裏假設第一列就是性別,如下代碼相同
DBGridEh.Columns[0].KeyList.Clear;
DBGridEh.Columns[0].KeyList.Append('0');
DBGridEh.Columns[0].KeyList.Append('1');
DBGridEh.Columns[0].KeyList.Append('2');
  1. DBGridEh的對應列的PickList屬性裏分別加入未知三行,用代碼實現是:
DBGridEh.Columns[0].PickList.Clear;
DBGridEh.Columns[0].PickList.Append('男');
DBGridEh.Columns[0].PickList.Append('女');
DBGridEh.Columns[0].PickList.Append('未知');

這樣,原先顯示爲012的性別就變成了未知。也能夠加上圖片來進一步美化。索引

  1. 放置一個TImagList控件,並命名爲ilSex,而後分別添加三個圖片,好比像衛生間的男、女圖片和問號,注意添加後圖片對應的索引,不然會張冠李戴。圖片

  2. DBGridEhImagList屬性裏關聯ilSex,而且設置ShowImageAndText屬性爲True,用代碼是:開發

DBGridEh.ImagList := ilSex;
DBGridEh.ShowImageAndText := True;

這樣,性別這一列就有圖片有文字,比012要友好不少,並且在編輯的時候也能夠直接下拉進行選擇來實現性別的錄入。class

相關文章
相關標籤/搜索