摘要:該文對使用VB開發(fā)數(shù)據(jù)庫時常用到的各種網(wǎng)格控件進(jìn)行了分析比較,對讀者靈活使用網(wǎng)格控件進(jìn)行數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)具有參考作用。 關(guān)鍵詞:網(wǎng)格控件;Grid控件;DBGrid控件;True DBGrid控件;SSDBGrid控件;MSFlexGrid控件;vaSpread控件;Formula One控件 中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2007)03-10771-02 1 引言 隨著基于構(gòu)件開發(fā)(Component-Based Development)技術(shù)的發(fā)展,供開發(fā)者使用的軟件構(gòu)件越來越多。VB中可使用的網(wǎng)格類控件有許多種,網(wǎng)格類控件常用在數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)中,用來直觀地顯示表或視圖的二維關(guān)系,在對數(shù)據(jù)的操作上,有些控件也提供了很多便捷的使用方法。同樣是完成這些顯示和操作數(shù)據(jù)的功能,面對各式各樣的控件,選擇哪種控件來達(dá)到目的,成了軟件開發(fā)者必須考慮的問題。唯有選擇了一個好的控件,才能提高開發(fā)效率,增強(qiáng)軟件的功能,達(dá)到事半功倍的效果。 2 網(wǎng)格控件選擇原則[1] 第一、要考慮控件的實(shí)際功能。功能強(qiáng)、接口多的控件可以增強(qiáng)應(yīng)用軟件的質(zhì)量,也可減少編程工作量,當(dāng)然,這要結(jié)合應(yīng)用需求來定,并不是功能越多越好。提供的功能多了,控件本身就很大,占好幾兆空間,增加了程序的冗余代碼。另外,一些功能閑置,靈活性太強(qiáng)也可能導(dǎo)致最終用戶不易掌握使用。 第二、控件的穩(wěn)定性要強(qiáng)。作為應(yīng)用程序的基石,不應(yīng)選用那些控件本身容易出錯,補(bǔ)丁(patch)太多的版本。 第三、控件的易用性要高。選用那些屬性配置合理,事件觸發(fā)機(jī)制明晰流暢,易于設(shè)計(jì)和使用,項(xiàng)目組中的程序員都容易接受掌握的控件。 3 常用網(wǎng)格控件區(qū)別與應(yīng)用 以下簡要介紹幾種網(wǎng)格類控件的特點(diǎn)[2-3],以供選用。 3.1 Grid控件 Grid控件可顯示簡單的二維表格,不用和數(shù)據(jù)庫直接連接,具有滾動條、行頭、列頭等特性,運(yùn)行時可用鼠標(biāo)調(diào)整行列的寬度,可用于瀏覽數(shù)據(jù),若想對數(shù)據(jù)進(jìn)行編輯,需結(jié)合TextBox控件,或采取其他變通方法。當(dāng)然,如果使數(shù)據(jù)真正寫入數(shù)據(jù)庫,還需進(jìn)行數(shù)據(jù)庫的讀寫操作。Grid只是提供了一個預(yù)覽的功能,便于數(shù)據(jù)的修改。由以上Grid的特點(diǎn)及其使用方法可以看出,在需要對數(shù)據(jù)庫進(jìn)行大量數(shù)據(jù)的操作時,為了減少對數(shù)據(jù)庫的直接操作,提高數(shù)據(jù)庫的安全性,使用Grid控件,還是有很大方便的。 Grid是VB在早期版本中就帶有的控件,使用簡便,穩(wěn)定性好,在早期的VB開發(fā)過程中,使用尤其廣泛。但現(xiàn)在與其它控件比較起來功能有些不足。 3.2 DBGrid控件 DBGrid是專用來操作數(shù)據(jù)庫的網(wǎng)格控件,可以綁定到Data控件,幾乎不用寫代碼就可方便地對數(shù)據(jù)進(jìn)行顯示,增加、刪除或修改記錄,DBGrid具有OnAddNew、BeforeDelete等事件,可在增加新記錄或刪除修改時對數(shù)據(jù)進(jìn)行有效性檢驗(yàn),來實(shí)現(xiàn)事務(wù)處理功能。DBGrid也可以在設(shè)計(jì)時編輯網(wǎng)格格式,指定顯示字段等,由于它提供了Column、Split、SelBookmarks等對象,更增強(qiáng)了顯示和操作數(shù)據(jù)的能力。 由于具有良好的可靠性,靈活性和直觀性,所以DBGrid控件現(xiàn)在被廣泛使用。但不足之處在于DBGrid直接操作數(shù)據(jù)庫,對數(shù)據(jù)庫的正確性有一定的威脅。改進(jìn)方法是,在修改數(shù)據(jù)庫時,加入提示信息。 3.3 True DBGrid控件 DBGrid是Apex軟件公司為微軟開發(fā)的,而Apex的True DBGrid控件也具有較強(qiáng)的數(shù)據(jù)顯示及處理功能,因與DBGrid同出一宗,所以兩者有很多相同點(diǎn)。在基本功能上,DBGrid的增、減等操作方法可直接用于True DBGrid,在這里就不再贅述。但在DBGrid的基礎(chǔ)上,True DBGrid可以直接嵌入ListBox、Image位圖、單選框等控件,使軟件的界面更加美觀,實(shí)用。 3.4 SSDBGrid控件 SSDBGrid來自Sheridan軟件系統(tǒng)公司(http://www.shersoft.com),與Sheridan的其它控件一樣,以漂亮的三維界面見長,SSDBGrid還可與其它數(shù)據(jù)庫控件如SSDBData、SSDBCombo等有機(jī)結(jié)合,為用戶處理數(shù)據(jù)提供方便,它有幾百個屬性、方法等接口,為界面的潤色提供了很大的選擇余地。另外SSDBGrid還具有虛擬數(shù)據(jù)管理(virtual data management)技術(shù),在內(nèi)存中只存儲需顯示在界面上的記錄,這樣在處理大量數(shù)據(jù)時不致耗費(fèi)系統(tǒng)資源而影響運(yùn)行速度。SSDBGrid的缺點(diǎn)只是在有些版本中輸入漢字時會出現(xiàn)一些亂碼,但顯示漢字的效果很不錯。 |