周善國 漆禮根
摘要: 微軟公司的面對對象的程序開發(fā)軟件VB日益成為當(dāng)前所流行的主流開發(fā)工具。它在實際的數(shù)據(jù)庫管理系統(tǒng)的開發(fā)過程中具有很大的實用性和靈活性。本文旨在討論在使用VB的實際開發(fā)過程中,如何有選擇的使用VB所提供的網(wǎng)格類控件以及如何方便、簡潔的去使用。
Abstract:Microsoft's object-oriented program development software, VB increasingly become the mainstream of popular development tools. It is in the actual database management system development process has great utility and flexibility. This article discusses the use of VB to the actual development process, how to choose the use of VB classes provided by the grid control, and how convenient, simple to use.
關(guān)鍵詞:構(gòu)件開發(fā) 虛擬數(shù)據(jù)管理 計算引擎
Key word: Component-Based Development Virtual Data Management Spread's Calc Engine
作者簡介:周善國(1981——),男,江西廣豐人,江西外語外貿(mào)職業(yè)學(xué)院信息管理系教師; 漆禮根(1982——),男,江西宜春人,江西外語外貿(mào)職業(yè)學(xué)院信息管理系教師。
隨著基于構(gòu)件開發(fā)(Component-Based Development)技術(shù)的發(fā)展,供開發(fā)者使用的軟件構(gòu)件越來越多,單就VB中可使用的網(wǎng)格類控件也有許多種。網(wǎng)格類控件常用在數(shù)據(jù)庫管理系統(tǒng)的開發(fā)中,用來直觀地顯示表或視圖的二維關(guān)系,在對數(shù)據(jù)的操作上,有些控件也提供了很多便捷的方法。 同樣是完成這些顯示和操作數(shù)據(jù)的功能,面對各式各樣的控件,選擇種來達(dá)到目的,成了軟件開發(fā)者必須考慮的問題。唯有選擇了一個好的控件,才能提高開發(fā)效率,增強軟件的功能,達(dá)到事半功倍的效果。 下面,本人根據(jù)自己長期以來積累的實際經(jīng)驗,總結(jié)出以下幾點網(wǎng)格控件的選用應(yīng)考慮的方面:
第一,要考慮控件的實際功能。功能強、接口多的控件可以增強應(yīng)用軟件的質(zhì)量,也可減少編程工作量,當(dāng)然,這要結(jié)合應(yīng)用需求來定,并不是功能越多越好。提供的功能多了,控件本身就很大,占好幾兆空間,增加了程序的冗余代碼。另外,一些功能閑置,靈活性太強也可能導(dǎo)致最終用戶不易掌握使用。
第二,控件的穩(wěn)定性要強。作為應(yīng)用程序的基石,不應(yīng)選用那些控件本身容易出錯,補丁(patch)太多的版本。
第三,控件的易用性要高。選用那些屬性配置合理,事件觸發(fā)機(jī)制明晰流暢,易于設(shè)計和使用,項目組中的程序員都容易接受掌握的控件。
以下簡要介紹幾種網(wǎng)格類控件的特點,以供選用。
Grid控件: Grid控件可顯示簡單的二維表格,不用和數(shù)據(jù)庫直接連接,具有滾動條、行頭、列頭等特性,運行時可用鼠標(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的特點及其使用方法可以看出,在需要對數(shù)據(jù)庫進(jìn)行大量數(shù)據(jù)的操作時,為了減少對數(shù)據(jù)庫的直接操作,提高數(shù)據(jù)庫的安全性,使用Grid控件,還是有很大方便的。Grid是VB在早期版本中就帶有的控件,使用簡便,穩(wěn)定性好,在早期的VB開發(fā)過程中,使用尤其廣泛。但現(xiàn)在與其它控件比較起來功能有些不足,
DBGrid控件: DBGrid是專用來操作數(shù)據(jù)庫的網(wǎng)格控件,可以綁定到Data控件,幾乎不用寫代碼就可方便地對數(shù)據(jù)進(jìn)行顯示,增加、刪除或修改記錄, DBGrid具有OnAddNew、BeforeDelete等事件,可在增加新記錄或刪除修改時對數(shù)據(jù)進(jìn)行有效性檢驗,來實現(xiàn)事務(wù)處理功能。DBGrid也可以在設(shè)計時編輯網(wǎng)格格式,指定顯示字段等,由于它提供了Column、Split、SelBookmarks等對象,更增強了顯示和操作數(shù)據(jù)的能力。由于具有良好的可靠性,靈活性和直觀性,所以DBGrid控件現(xiàn)在被廣泛使用。
但不足之處在于DBGrid,和直接操作數(shù)據(jù)庫,對數(shù)據(jù)庫的正確性有一定的威脅。改進(jìn)方法是,在修改數(shù)據(jù)庫時,加入提示信息。
True DBGrid:DBGrid是Apex軟件公司為微軟開發(fā)的,而Apex的True DBGrid控件也具有較強的數(shù)據(jù)顯示及處理功能,因與DBGrid同出一宗,所以兩者有很多相同點。在基本功能上,DBGrid的增,減等操作方法可直接用于True DBGrid,在這里就不再贅述。但在DBGrid的基礎(chǔ)上,True DBGrid可以直接嵌入ListBox、Image位圖、單選框等控件,使軟件的界面更加美觀,實用。
SSDBGrid控件:SSDBGrid來自Sheridan軟件系統(tǒng)公司,與Sheridan的其它控件一樣,以漂亮的三維界面見長,SSDBGrid還可與其它數(shù)據(jù)庫控件如SSDBData、SSDBCombo等有機(jī)結(jié)合,為用戶處理數(shù)據(jù)提供方便,它有幾百個屬性、方法等接口,為界面的潤色提供了很大的選擇余地。另外SSDBGrid還具有虛擬數(shù)據(jù)管理(virtual data management)技術(shù),在內(nèi)存中只存貯需顯示在界面上的記錄,這樣在處理大量數(shù)據(jù)時不致耗費系統(tǒng)資源而影響運行速度。SSDBGrid的缺點只是在有些版本中輸入漢字時會出現(xiàn)一些亂碼,但顯示漢字的效果很不錯。
MSFlexGrid控件:MSFlexGrid和vsFlexArray在顯示數(shù)據(jù)方面有很多獨到之處,在運行中可通過拖放來交換各列的位置,動態(tài)地對數(shù)據(jù)進(jìn)行排序、分組合并等。vsFlexArray控件是VideoSoft公司的產(chǎn)品,MSFlexGrid的部分技術(shù)也來自此公司。