16.4 用TDBGrid部件顯示和編輯表中的數(shù)據(jù)
TDBGrid部件和TDBEdit部件一樣,它們是專門用來顯示和編輯數(shù)據(jù)庫表中的數(shù)據(jù)的,但TDBGrid部件的功能更強大一些,它可以以網(wǎng)格的形式顯示數(shù)據(jù)庫表中全部記錄的所有字段信息。
用TDBGrid顯示數(shù)據(jù)庫表中的記錄信息
在TDBGrid部件中顯示數(shù)據(jù)庫表中的記錄信息時,如果TDBGrid使用數(shù)據(jù)集部件在運行過程中動態(tài)生成的字段部件時,TDBGrid顯示數(shù)據(jù)庫表中的記錄是按表中記錄的缺省順序和字段的缺省順序顯示表中的記錄信息,而且要顯示表中各個記錄的全部字段的值。而在大多數(shù)情況下,用戶可能希望按自己喜歡的字段順序顯示記錄的各個字段,有時還希望只顯示記錄的部分字段值,要達(dá)到這一目的,必須在設(shè)計階段使用字段編輯器來創(chuàng)建永久性的字段部件,并且還要設(shè)置各個字段部件有關(guān)的屬性。
當(dāng)使用字段編輯器(Fields Editor)創(chuàng)建永久性的字段部件提供給TDBGrid部件來使用時,我們可以在TDBGrid部件中更靈活地顯示數(shù)據(jù)庫表中的記錄信息。例如在字段編輯器中的Fields列表框中我們可以設(shè)定字段部件的顯示順序,在設(shè)定好字段的顯示順序之后,TDBGrid部件便按這個順序顯示記錄的各個字段值,當(dāng)我們設(shè)置字段部件的DisplayFormat和EditFormat屬性之后,在TDBGrid部件中便相應(yīng)地以設(shè)定的顯式和編輯格式顯示字段值和編輯字段值;當(dāng)設(shè)置某一個字段部件的Required屬性為True時,當(dāng)插入一條新記錄時,必須要為該字段輸入相應(yīng)的字段值,否則會出錯;通過設(shè)置字段部件的Visible屬性,可以確定相應(yīng)的字段值是否在TDBGrid組件中顯示。有關(guān)使用字段編輯器來創(chuàng)建字段部件,設(shè)置字段部件的屬性請參看3.6.2節(jié)。
16.4.1 TDBGrid部件的主要屬性及應(yīng)用
TDBGrid部件是用于顯示和編輯數(shù)據(jù)庫表中的記錄信息的重要部件,它是我們在程序設(shè)計過程當(dāng)中要經(jīng)常使用的、靈活地用于顯示和編輯數(shù)據(jù)庫表中的記錄信息的一個強有力的工具。TDBGrid具有很多重要的屬性,我們可以在程序設(shè)計階段和程序運行過程中進(jìn)行設(shè)置。TDBGrid部件的一些重要屬性及其設(shè)置方法請參看聯(lián)機幫助文件。TDBGrid部件中一些重要的屬性是Option屬性、DrawMode屬性和DefaultDrawing屬性,我們重點對兩個屬性進(jìn)行闡述。
Options屬性:它是TDBGrid部件的一個擴(kuò)展屬性,在程序設(shè)計階段設(shè)置Options屬性可以控制TDBGrid部件的顯示特性和對事件的響應(yīng)特性。Options屬性在TDBGrid部件的屬性欄中顯示時,它的前面帶有一個“+”標(biāo)志,雙擊“+”標(biāo)志,便可以展開一個布爾型屬性列表,用戶可以逐個地修改其中的各個屬性值,修改完畢后可以雙擊Options屬性前的“-”標(biāo)志,使TDBGrid部件的屬性列表恢復(fù)到原來的顯示狀態(tài)。
表16.5列出了Options屬性中包含的所有的擴(kuò)展屬性項以及它們對TDBGrid部件的影響。
表16.5 TDBGrid部件的Options屬性中的擴(kuò)展屬性項
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
屬 性 名 取 值 及 影 響
─────────────────────────────────
dbEditing True: 缺省情況下為此值,確保用戶能夠在網(wǎng)格中編輯插
入和刪除數(shù)據(jù)庫表中的記錄
False:在網(wǎng)格中不能編輯、插入和刪除表中的記錄
─────────────────────────────────
dbAlwaysShow True: 當(dāng)用戶選中記錄中的一個字段時,自動地使該字段
Editor 處于編輯狀態(tài)
False:缺省情況下為此值。當(dāng)一個字段被選中,它不能
自動地變成編輯狀態(tài)
─────────────────────────────────
dgTitles True: 缺省情況下為此值。在網(wǎng)格的第一行中顯示字段名
或字段標(biāo)題
False:在網(wǎng)格中不顯示字段名或字段對應(yīng)的標(biāo)題
─────────────────────────────────
dgIndicator True: 缺省情況下為此值。在網(wǎng)格的最左邊用一個黑箭頭
標(biāo)注當(dāng)前記錄指針?biāo)诘奈恢茫诓迦霠顟B(tài)時,箭
頭變成星狀,在編輯狀時,箭頭變成"I"頭。
False:在網(wǎng)格中不標(biāo)識當(dāng)前記錄指針的位置
─────────────────────────────────
dgColumnResize True: 缺省情況下為此值。通過拖拉網(wǎng)格的垂直分隔線可
以改變網(wǎng)格中各列的寬度,在具體操作時要拖拉各
列中顯示字段標(biāo)題區(qū)域中的垂直分隔線。
False:網(wǎng)格中各列的寬度不能改變
─────────────────────────────────
dgCloLines True: 缺省情況下為此值。在網(wǎng)格中顯示各列之間的垂直
分隔線。
False:在網(wǎng)格中不顯示垂直分隔線
─────────────────────────────────
dgRowLines True: 缺省情況下為此值。在網(wǎng)格中顯示各行之間的水平
分隔線。
False:在網(wǎng)格中不顯示水平分隔線。
─────────────────────────────────
dgTabs True: 缺省情況下為此值?梢栽谟涗浀母髯侄沃g移動
輸入焦點(也即選擇提示棒)
False:不能在記錄的名字段之間移動輸入焦點,在網(wǎng)格中
按Tab鍵時,直接跳出網(wǎng)格
─────────────────────────────────
dgRowSelect True: 選擇提示棒覆蓋整條記錄中的全部字段
False:缺省情況下為此值。選擇提示棒一次只覆蓋記錄中
的一個字段
─────────────────────────────────
dgAlwaysShow True: 缺省情況下為此值。在網(wǎng)格始終顯示選擇提示棒,即
-Selection 使其控件獲得焦點時,也是如此。
False:只在當(dāng)網(wǎng)格獲得焦點時,才顯示選擇提示棒。
─────────────────────────────────
dbConfirmDelete True: 缺省情況下為此值。當(dāng)在網(wǎng)格中刪除記錄時,彈出確
認(rèn)信息。
False:在網(wǎng)格中刪除記錄時不彈出確認(rèn)信息。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
相關(guān)推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |