淺談VB編程中網格控件的選用及使用方法

論文類別:計算機論文 > 計算機網絡論文
論文作者: 未知請聯系更改
上傳時間:2013/2/6 9:29:00

隨著基於構件開發(Component-Based Development)技術的發展,供開發者使用的軟件構件越來越多,單就VB中可使用的網格類控件也有許多種。網格類控件常用在數據庫管理系統的開發中,用來直觀地顯示表或視圖的二維關系,在對數據的操作上,有些控件也提供了很多便捷的方法。 同樣是完成這些顯示和操作數據的功能,面對各式各樣的控件,選擇那種來達到目的,成了軟件開發者必須考慮的新問題。唯有選擇了一個好的控件,才能提高開發效率,增強軟件的功能,達到事半功倍的效果。 下面,本人根據自己長期以來積累的實際經驗,總結出以下幾點網格控件的選用應考慮的方面摘要:

第一,要考慮控件的實際功能。功能強、接口多的控件可以增強應用軟件的質量,也可減少編程工作量,當然,這要結合應用需求來定,並不是功能越多越好。提供的功能多了,控件本身就很大,占好幾兆空間,增加了程序的冗余代碼。另外,一些功能閑置,靈活性太強也可能導致最終用戶不易把握使用。

第二,控件的穩定性要強。作為應用程序的基石,不應選用那些控件本身輕易出錯,補丁(patch)太多的版本。

第三,控件的易用性要高。選用那些屬性配置合理,事件觸發機制明晰流暢,易於設計和使用,項目組中的程序員都輕易接受把握的控件。  以下簡要介紹幾種網格類控件的特征,以供選用。 Grid控件摘要: Grid控件可顯示簡單的二維表格,不用和數據庫直接連接,具有滾動條、行頭、列頭等特性,運行時可用鼠標調整行列的寬度,可用於瀏覽數據,若想對數據進行編輯,需結合TextBox控件,或采取其他變通方法。下面所示畫面即為日本東京社會調查探究所開發的《要員管理系統》中硬件管理部分的畫面。 畫面中的下部即為Grid控件,定義其名稱為GrdHardComp。使用時,要首先在下圖所示的屬性窗口中定義其行列數,控制條格式,字體大小,填充格式,鼠標模式等特性。 然後,可以動態的劃分其間距摘要: GrdHardComp.ColWidth(0) = GrdHardComp.Width * 1 / 6 GrdHardComp.ColWidth(1) = GrdHardComp.Width * 5 / 24 GrdHardComp.ColWidth(2) = GrdHardComp.Width * 1 / 6 GrdHardComp.ColWidth(3) = GrdHardComp.Width * 1 / 6 GrdHardComp.ColWidth(4) = GrdHardComp.Width * 3 / 24 GrdHardComp.ColWidth(5) = GrdHardComp.Width * 1 / 6 GrdHardComp.ColWidth(6) = GrdHardComp.Width * 1 / 6 Private Hards() As M_Hard 定義其標題摘要: GrdHardComp.Row = 0 ' GrdHardComp.Col = 0 GrdHardComp.FixedAlignment(GrdHardComp.Col) = 2 GrdHardComp.Text = "構成番號" GrdHardComp.Col = 1 GrdHardComp.FixedAlignment(GrdHardComp.Col) = 2 GrdHardComp.Text = "構成機器區分"① … … 在數據向Grid中寫入或取出時,為了便於大量的數據同時,簡便地寫入和修改,可以定義一個類型。如下摘要: Type M_Hard Number As String OrderNum As String MachKind As String MachKindName As String … … End Type (其中Number等均為要輸入的圖示條目) Private Hards() As M_Hard Hards(),此時就作為數據的傳輸變量,進行Grid和TextBox之間的數據傳輸。 數據向類內寫入摘要: If HardComp.RecordCount > 0 Then HardComp.MoveFirst Do Until HardComp.EOF ReDim Preserve Hards(H%)// H%為記數變量。 Hards(H%).OrderNum = HardComp![ OrderNum//輸入編號 Hards(H%).MachKind = HardComp![ MachKind//種類 Hards(H%).MachKindName = HardComp![ MachKindName//分類名 Hards(H%).MachName = HardComp![ MachName//名稱 … … loop HardComp.MoveFirst 類內數據向Grid內寫入摘要: GrdHardComp.Row = H% + 1//記錄數統計 GrdHardComp.Col = 0 GrdHardComp.Text = " " %26 Hards(H%).OrderNum GrdHardComp.Col = 1 GrdHardComp.Text = " " %26 Hards(H%).MachKind GrdHardComp.Col = 2 GrdHardComp.Text = " " %26 Hards(H%).MachKindName GrdHardComp.Col = 3 GrdHardComp.Text = " " %26 Hards(H%).MachName GrdHardComp.Col = 4 … … GrdHardComp.Text = " " %26 Hards(H%).HardLastDate GrdHardComp.Rows = GrdHardComp.Rows + 1//行數加1 HardComp.MoveNext H% = H% + 1 當然,假如使數據真正寫入數據庫,還需進行數據庫的讀寫操作。Grid只是提供了一個預覽的功能,便於數據的修改。 由以上Grid的特征及其使用方法可以看出,在需要對數據庫進行大量數據的操作時,為了減少對數據庫的直接操作,提高數據庫的平安性,使用Grid控件,還是有很大方便的。 Grid是VB在早期版本中就帶有的控件,使用簡便,穩定性好,在早期的VB開發過程中,使用尤其廣泛。但現在和其它控件比較起來功能有些不足。 DBGrid控件摘要: DBGrid是專用來操作數據庫的網格控件,可以綁定到Data控件,幾乎不用寫代碼就可方便地對數據進行顯示,增加、刪除或修改記錄,DBGrid具有OnAddNew、BeforeDelete等事件,可在增加新記錄或刪除修改時對數據進行有效性檢驗,來實現事務處理功能。DBGrid也可以在設計時編輯網格格式,指定顯示字段等,由於它提供了Column、Split、SelBookmarks等對象,更增強了顯示和操作數據的能力。 下面是筆者所參和開發的東京社會調查探究所的項目--《健康診斷系統》的一個實例。 圖中的Data4控件把數據庫和DBGrid直接連起來,DBGrid的題目,項目設置可以在屬性窗口裏直接做到。在使用時,要註重新數據是先更新數據庫,然後才回寫到DBGrid裏。

免費論文下載中心 http://www.hi138.com 方法如下摘要: Sql = "SELECT * FROM 表名" //SQL語句 Set Data4.Recordset = MyDB2.OpenRecordset(sSql, dbOpenSnapshot) Data4.Refresh 或摘要: DatMonthPlan.RecordSource = "SELECT * FROM 表名WHERE (((關鍵字)='" %26 Key %26 "')); 假如想對DBGrid中的某個條目進行復制,方法如下摘要: Data4.Recordset.AddNew Data4.Recordset![ 關鍵字 = Key//關鍵字索引

Data4.Recordset![記號= DBGrid.Columns(0).CellValue(DBGrid.GetBookmark(0))//第一列 Data4.Recordset[番號=DBGrid.Columns(1).CellValue(DBGrid.GetBookmark(0))// 第二列 Data4.Recordset![氏名=DBGrid.Columns(2).CellValue(DBGrid.GetBookmark(0))//第三列 Data4.Recordset.Update Data4.Refresh//數據庫更新 DBGrid.Refresh// DBGrid刷新 假如動態的對DBGrid中的某個欄目進行增減,可以用如下方法摘要: i = 1 //總顯示列數記數 Data4.MoveFirst Do Until Data4.EOF DBGrid1.Columns(i).Width = 1600 //定義寬度 DBGrid1.Columns(i).Caption = "年齡" //標題 DBGrid1.Columns(i).DataField = "%26 實際數據域 %26" DBGrid1.Columns(i).Visible = True //可見性 DBGrid1.Columns(i).Alignment = 1 //DBGrid 控件列中的值的對齊方式 Data4.MoveNext i = i + 1 If i > 8 Then Exit Do//列數最大為8 Loop 由於具有良好的可靠性,靈活性和直觀性,所以DBGrid控件現在被廣泛使用。但不足之處在於DBGrid,和直接操作數據庫,對數據庫的正確性有一定的威脅。改進方法是,在修改數據庫時,加入提示信息。 True DBGrid摘要: DBGrid是Apex軟件公司為微軟開發的,而Apex的True DBGrid控件也具有較強的數據顯示及處理功能,因和DBGrid同出一宗,所以兩者有很多相同點。在基本功能上,DBGrid的增,減等操作方法可直接用於True DBGrid,在這裏就不再贅述。但在DBGrid的基礎上,True DBGrid可以直接嵌入ListBox、Image位圖、單選框等控件(如圖所示),使軟件的界面更加美觀,實用。 SSDBGrid控件摘要:

SSDBGrid來自Sheridan軟件系統公司(http摘要://www.shersoft.com),和Sheridan的其它控件一樣,以漂亮的三維界面見長,SSDBGrid還可和其它數據庫控件如SSDBData、SSDBCombo等有機結合,為用戶處理數據提供方便,它有幾百個屬性、方法等接口,為界面的潤色提供了很大的選擇余地。另外SSDBGrid還具有虛擬數據管理(virtual data management)技術,在內存中只存貯需顯示在界面上的記錄,這樣在處理大量數據時不致耗費系統資源而影響運行速度。SSDBGrid的缺點只是在有些版本中輸入漢字時會出現一些亂碼,但顯示漢字的效果很不錯。 MSFlexGrid控件摘要:   MSFlexGrid和vsFlexArray在顯示數據方面有很多獨到之處,在運行中可通過拖放來交換各列的位置,動態地對數據進行排序、分組合並等。vsFlexArray控件是VideoSoft公司的產品,MSFlexGrid的部分技術也來自此公司。 vaSpread控件摘要:  

 vaSpread控件在處理數據方面有著更大的靈活性,它支持數據綁定,虛擬數據管理等技術,而且具備了電子表格的功能,編輯中可以使用剪貼板來剪切或復制單元格區域的數據,單元格中也可以加入公式,借助Spread的計算引擎(Spread's Calc Engine)對數據進行分析計算。Spread Designer還可方便地設計表格的格式,在單元格中加入按鈕、圖片、組合框等,自己設計的表格格式還能作為模板和數據分開來保存。若想得到簡單的報表,vaSpread的打印功能可直接把界面和數據打印出來,而不需通過專門的報表打印控件。vaSpread是FarPointTechnologies公司的產品,網址為 http摘要://www.fpoint.com。 Formula One控件摘要: Formula One有更強的數據處理功能,是和Excel兼容的電子表格控件,在PowerBuilder中經常用到,它來自Sybase下屬的Visual components公司,網址http摘要://www.visualcomp.com。l另外,PowerBuilder中,常用子窗口--Database Windows 的形式來顯示數據庫的構成。如下圖,至於其使用方法,這裏就不再贅述了。

參考文獻

摘要:

1. 微軟公司《VB部件工具》,1997年版
2. True DBGrid 4.0d "Hondo" (Build 4.0.0130, dated 10/16/96).
3. 《PowerBuilder6.0應用和開發》,清華大學出版社

免費論文下載中心 http://www.hi138.com
下载论文

論文《淺談VB編程中網格控件的選用及使用方法》其它版本

計算機網絡論文服務

網站聲明 | 聯系我們 | 網站地圖 | 論文下載地址 | 代寫論文 | 作者搜索 | 英文版 | 手機版 CopyRight@2008 - 2017 免費論文下載中心 京ICP备17062730号