翻譯|使用教程|編輯:龔雪|2024-11-22 10:45:54.740|閱讀 99 次
概述:本文主要介紹如何使用DevExpress WinForms的Data Grid組件在代碼中創(chuàng)建和管理數(shù)據(jù)以及應(yīng)用數(shù)據(jù)注釋屬性,歡迎下載最新版組件體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
本教程首先描述了標(biāo)準(zhǔn)數(shù)據(jù)綁定模式在處理非常大的數(shù)據(jù)源時(shí)的缺點(diǎn),用戶可以學(xué)習(xí)如何使用服務(wù)器模式數(shù)據(jù)綁定來(lái)解決初始數(shù)據(jù)加載和數(shù)據(jù)操作性能問(wèn)題。最后將演示即時(shí)反饋數(shù)據(jù)綁定模式,該模式確保應(yīng)用程序的UI不會(huì)因在后臺(tái)線程中執(zhí)行與數(shù)據(jù)相關(guān)的操作而凍結(jié)。
P.S:DevExpress WinForms擁有180+組件和UI庫(kù),能為Windows Forms平臺(tái)創(chuàng)建具有影響力的業(yè)務(wù)解決方案。DevExpress WinForms能完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序,無(wú)論是Office風(fēng)格的界面,還是分析處理大批量的業(yè)務(wù)數(shù)據(jù),它都能輕松勝任!
獲取DevExpress WinForms v24.1正式版下載
DevExpress技術(shù)交流群11:749942875 歡迎一起進(jìn)群討論
在示例應(yīng)用程序中,使用默認(rèn)數(shù)據(jù)綁定模式將網(wǎng)格綁定到具有100,000行的數(shù)據(jù)源。在這種模式下,網(wǎng)格將把所有數(shù)據(jù)加載到內(nèi)存中,然后根據(jù)最終用戶的操作對(duì)這些數(shù)據(jù)進(jìn)行操作。
運(yùn)行應(yīng)用程序來(lái)分析網(wǎng)格的性能,網(wǎng)格將把所有記錄加載到內(nèi)存中,這意味著內(nèi)存消耗增加,應(yīng)用程序啟動(dòng)延遲。您可以看到啟動(dòng)花費(fèi)了很長(zhǎng)時(shí)間,正如在任務(wù)管理器中看到的,應(yīng)用程序?qū)嶋H上正在運(yùn)行,并且已經(jīng)消耗了大約220M的內(nèi)存。
單擊 Break All來(lái)查看應(yīng)用程序狀態(tài),如您所見(jiàn),數(shù)據(jù)源仍在被填充。單擊Continue并等待,應(yīng)用程序最終啟動(dòng)后,將顯示100000條記錄。
數(shù)據(jù)操作將全部由客戶端上的網(wǎng)格控件執(zhí)行,因此性能將取決于客戶端計(jì)算機(jī)。您可以看到,即使在快速的計(jì)算機(jī)上,數(shù)據(jù)分組和排序的執(zhí)行也有明顯的滯后。
現(xiàn)在關(guān)閉應(yīng)用程序并切換到Server Mode數(shù)據(jù)綁定,以提高應(yīng)用程序的性能。在這種數(shù)據(jù)綁定模式下,網(wǎng)格控件將只請(qǐng)求要顯示在屏幕上的數(shù)據(jù)的一部分,數(shù)據(jù)整形操作將由服務(wù)器執(zhí)行。
刪除之前由Data Source Configuration Wizard(數(shù)據(jù)源配置向?qū)В┨砑拥拇a和BindingSource組件,然后調(diào)用DevExpress網(wǎng)格控件的智能標(biāo)記并單擊Data Source Wizard鏈接。
選擇Entity Framework(實(shí)體框架)技術(shù)并選擇現(xiàn)有的數(shù)據(jù)連接。
在下一頁(yè)上,選擇Server-Side Data Processing并單擊Next。
最后,選擇所需的表、鍵表達(dá)式和默認(rèn)排序。
現(xiàn)在啟動(dòng)應(yīng)用程序來(lái)查看結(jié)果,請(qǐng)記住在服務(wù)模式下,網(wǎng)格將只請(qǐng)求一些記錄顯示在屏幕上,這意味著減少內(nèi)存消耗和更快的應(yīng)用程序啟動(dòng)。這一次,應(yīng)用程序在幾秒鐘內(nèi)啟動(dòng)。同時(shí),您可以訪問(wèn)所有100,000條記錄,滾動(dòng)視圖可以看到幾乎沒(méi)有延遲。
分組、排序和過(guò)濾的工作速度也很快,數(shù)據(jù)操作速度很快,因?yàn)樵诿總€(gè)終端用戶操作之后,網(wǎng)格都會(huì)向服務(wù)器發(fā)送更新數(shù)據(jù)的請(qǐng)求。服務(wù)器通常會(huì)更快地執(zhí)行這些操作,然后只有少數(shù)可見(jiàn)記錄返回到網(wǎng)格。這意味著您可以訪問(wèn)所有記錄,并且可以自由地應(yīng)用您想要的任何數(shù)據(jù)塑造操作。
如果您檢查任務(wù)管理器,將看到與標(biāo)準(zhǔn)模式相比,內(nèi)存消耗大大減少。
關(guān)閉應(yīng)用程序來(lái)嘗試另一種用于處理大型數(shù)據(jù)源的數(shù)據(jù)綁定模式。
當(dāng)前應(yīng)用的數(shù)據(jù)綁定模式為同步,這意味著當(dāng)網(wǎng)格等待來(lái)自服務(wù)器的更新數(shù)據(jù)時(shí),用戶界面會(huì)暫時(shí)凍結(jié)。DevExpress Grid Control還提供異步服務(wù)器模式,也稱(chēng)為即時(shí)反饋模式。它與服務(wù)器模式相同,只是它在后臺(tái)線程中重新加載數(shù)據(jù)以確保應(yīng)用程序的UI不會(huì)凍結(jié)。
再次調(diào)用數(shù)據(jù)源向?qū)В@次選擇異步服務(wù)器端數(shù)據(jù)處理來(lái)啟用即時(shí)反饋模式,然后再次選擇所需的表、鍵表達(dá)式和默認(rèn)排序。
啟動(dòng)應(yīng)用程序來(lái)查看更改,請(qǐng)注意在滾動(dòng)、分組和排序數(shù)據(jù)時(shí),網(wǎng)格不會(huì)凍結(jié)。當(dāng)數(shù)據(jù)在后臺(tái)線程中檢索時(shí),加載指示器顯示在左上角。
注意Entity Framework(實(shí)體框架)并不是唯一支持這些數(shù)據(jù)綁定模式的技術(shù),在Visual Studio工具箱中,您可以看到在服務(wù)器模式和即時(shí)反饋模式下用于各種數(shù)據(jù)訪問(wèn)技術(shù)的數(shù)據(jù)源組件——實(shí)體框架、LINQ到SQL、并行LINQ到對(duì)象或WCF數(shù)據(jù)服務(wù)。
您可以從工具箱中添加這些組件并手動(dòng)綁定數(shù)據(jù),替代使用向?qū)А?
更多產(chǎn)品資訊及授權(quán),歡迎“”!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)