用戶(hù)想了解這些可選屬性項(xiàng)的作用和影響,還可以參看聯(lián)機(jī)幫助信息。
DragMode屬性:該屬性有兩個(gè)可選的屬性值。當(dāng)它的值被設(shè)置為dmManual時(shí),在應(yīng)用程序運(yùn)行過(guò)程中,用戶(hù)可以用鼠標(biāo)拖放網(wǎng)格中的各列,改變各列在網(wǎng)格中的顯示順序和位置。當(dāng)用鼠標(biāo)拖放網(wǎng)格中的一列、改變它在網(wǎng)格中的位置時(shí),只是改變了該列在數(shù)據(jù)集中的位置,并沒(méi)有改變它對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中的位置。當(dāng)該屬性的值被設(shè)置成dmAutomatic時(shí),用戶(hù)不能用鼠標(biāo)拖放網(wǎng)格中的各列而改變它在網(wǎng)格中的位置。
DefalultDrawing屬性:該屬性是布爾型屬性,它用于控制網(wǎng)格中各網(wǎng)格單元的繪制方式。在缺省情況下,該屬性的值為T(mén)rue,也就是說(shuō)Delphi使用網(wǎng)格本身缺省的方法繪制網(wǎng)格中各網(wǎng)格單元,并填充各網(wǎng)格單元中的內(nèi)容,各網(wǎng)格單元中的數(shù)據(jù)根據(jù)其對(duì)應(yīng)的字段部件的DisplayFormat屬性和EidtFormat屬性進(jìn)行顯示和繪制。如果DefaulDrawing屬性被設(shè)置為False時(shí),Delphi不會(huì)自動(dòng)地繪制網(wǎng)格中各網(wǎng)格單元和網(wǎng)格單元中的數(shù)據(jù),用戶(hù)必須自己為T(mén)DBGrid部件的OnDrawDataCell事件編寫(xiě)相應(yīng)的程序用于繪制各網(wǎng)格單元和其中的數(shù)據(jù)。
在了解了TDBGrid部件的各個(gè)屬性之后,我們便可以使用TDBGrid部件來(lái)顯示和編輯數(shù)據(jù)庫(kù)表中的數(shù)據(jù)了。圖16.5所示的應(yīng)用窗體中各部件的屬性設(shè)置如表16.6所示。
表16.6 各部件的屬性設(shè)置
━━━━━━━━━━━━━━━━━━━━
屬 性 名 屬 性 值
────────────────────
Table1.DatabaseName DEMOS
Table1.TableName Customer.DB
Table1.CanModify True
DataSource1.DataSet Table1
DataSource1.AutoEdit True
DBGrid1.Datasource DataSource1
DBGrid1.ReadOnly False
━━━━━━━━━━━━━━━━━━━━
在其他數(shù)據(jù)瀏覽部件(如TDBEdit)中編輯修改其中的內(nèi)容時(shí),只要用戶(hù)用Tab鍵或鼠標(biāo)將焦點(diǎn)移到其他部件時(shí),用戶(hù)對(duì)該字段的修改會(huì)自動(dòng)地寫(xiě)回到數(shù)據(jù)庫(kù)表中,使用TDBGrid部件編輯修改數(shù)據(jù)庫(kù)表時(shí),Delphi是以記錄為基本單位將修改寫(xiě)回磁盤(pán)上的數(shù)據(jù)庫(kù)表的。用戶(hù)在編輯和修改表中的當(dāng)前記錄時(shí),只有用戶(hù)將記錄指針移到其他的記錄時(shí),Delphi才將用戶(hù)對(duì)當(dāng)前記錄的修改寫(xiě)回到磁盤(pán)上的數(shù)據(jù)庫(kù)表,否則,用戶(hù)即使改變焦點(diǎn)到窗體中的其他部件,Dephi也不會(huì)投寄用戶(hù)對(duì)當(dāng)前記錄的修改。Delphi在向數(shù)據(jù)庫(kù)表投寄TDBGrid部件中的被修改的記錄時(shí),它會(huì)自動(dòng)地檢查所有與當(dāng)前數(shù)據(jù)庫(kù)相連的數(shù)據(jù)瀏覽部件的狀態(tài),只要其中有任何一數(shù)據(jù)瀏覽部件正在修改數(shù)據(jù),這時(shí)會(huì)彈出出錯(cuò)信息,并且當(dāng)前記錄的修改不會(huì)被投寄(即被寫(xiě)回磁盤(pán)上的數(shù)據(jù)庫(kù)表)。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試試題及答案解析專(zhuān)題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |