資源描述:
《DataGrid控件用法詳解.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Dat(yī)aGrid控件用法詳解作者:萬建華下載源代碼?寫在前面剛寫這個題目,就覺得肩上重了,不知道自己能否對DataGrid詳解之.希望大家共同指正。DataGrid控件是VC方便地用來顯示數(shù)據(jù)的一個極好的網(wǎng)格控件,我不否認(rèn)網(wǎng)上還有期它不少優(yōu)秀的網(wǎng)格控件,但我總喜歡使用微軟自已的東西。除非它滿足不了我的需要。不是我太依賴Microsoft,你想想,如果你最常用的開發(fā)工具是VC,VC是微軟的主打開發(fā)工具,它與Windows系統(tǒng)的兼容性極好,連它的控件也不例外,你為何不先選用成熟的代碼,如果它升級了,你的系統(tǒng)幾乎不作改動就可以繼續(xù)為你效勞,有什么不好,這不完全是那種無謂的依靠,而是利用。更重
2、要的是你可以更注重你的系統(tǒng)功能,而不是代碼的細節(jié)。?之所以要寫這樣的文章,因為有幾個網(wǎng)友在問我網(wǎng)格控件的用法,我想也許其他朋友也有用(如果真的是這樣,我很高興).??一、我先交待主要內(nèi)容1.在網(wǎng)格控件中顯示查詢的數(shù)據(jù)結(jié)果。2.對網(wǎng)格控件的顯示進行控制(如列寬)。3.對網(wǎng)格內(nèi)容格式進行控制(如將小于1的小數(shù)顯示成百分?jǐn)?shù))二、準(zhǔn)備工作? 先建立一個工程,我的主框架選用對話框,然后插入你DataGrid控件,見如圖1??圖1? 找到MicrosoftDataGridOLEDB6.0控件,確定,出現(xiàn)圖所示對話框,這個對話框中你要根據(jù)需要選擇的類,這些類封裝了這個控件的幾乎所有功能有方法.這里
3、我只選擇了三個類:CDat(yī)aGrid,CColumns,CColumn,如圖2(我們知道,ActiveX是基于COM的,這三個類是對這個控件的COM查詢接口的封裝,使你在使用時幾乎不知道自己在使用COM控件.正因為如此,你要想直接查看這個控件的源代碼,也就不可能了.)?圖2??三、功能實現(xiàn)及代碼?1。在網(wǎng)格控件中顯示查詢的數(shù)據(jù)結(jié)果。? 數(shù)據(jù)庫接庫,并取得查詢的數(shù)據(jù)結(jié)果.這里我使用了一個ADO封裝類(當(dāng)然你可以使用其它的方法方法數(shù)據(jù)庫,而不會影響控件的使用)。CADODatabasem_DBCn;//數(shù)據(jù)庫對象CADORecordsetm_Rs;//記錄集對象CDataGRidm_ctr
4、lDG;//Dat(yī)aGrid控件對象。..CString strConnection;strConnection.Format(_T(”Provider=Microsoft.Jet.OLEDB。4。0;") _T("DataSource=note。mdb"));m_DBCn.Open((LPCTSTR)strConnection);//打開程序數(shù)據(jù)庫m_Rs。SetDatabase(&m_DBCn);m_Rs。Open(_T("select*fromtest;"));//執(zhí)行查詢m_ctrlDG.SetRefDataSource((LPUNKNOW)m_Rs.GetRecordset
5、());//顯示在DataGrid控件中 如圖3:?圖32.對網(wǎng)格控件的顯示進行控制(如列寬).要實現(xiàn)對列的控制,就要先取得列對象。CColumnscols= m_ctrlDG.GetColumns();//先取得列集?CColumncol= cols。GetItem(vt);//再取得列集中的列,由VARIANT vt變量指出列的索引號?然后,你就可以對當(dāng)前列為所欲為,這里我對它設(shè)置列寬col.SetWidth(fWidth);//fWidth指定列寬如圖4?圖4?3.對網(wǎng)格內(nèi)容格式進行控制(如將小于1的小數(shù)顯示成百分?jǐn)?shù))?要設(shè)置列的顯示格式,還是要先取得列,再對它設(shè)置格式,取得列
6、的方法同上。col.SetNumberFormat(_T("0。0%"));//百分?jǐn)?shù)格式 如圖5?圖54。除此之外,我們還可以對它多行顯示,如圖6?圖6??5.另外,還可以利用消息機制,對控件的HeadClick消息處理,使控件能進行排序。(具體情況參見源代碼)?四、結(jié)束語 ?? 細心的朋友會發(fā)現(xiàn),查看相關(guān)類的方法名(函數(shù)名),能故名思意,看出控件的功能,另外在插入控件時,一般有也幫助文件,不過是針VB的,而且VB的調(diào)用方法與VC差別較大,但只有對比VC和VB方法名的相似之處,你還是可以很快對這款控件上手,并運用到你的項目中去。? 本文源程序在VC6。0英語版,WindowsXP調(diào)
7、試通過,并附源程序(工程名TestGrid).DataGrid控件的功能遠不止這此,希望本文能拋磚引玉,歡迎有興趣的朋友交流eMail:ChinaITBoy@163.com。個人收集整理,勿做商業(yè)用途