翻譯|使用教程|編輯:龔雪|2022-09-22 10:24:43.170|閱讀 252 次
概述:在使用DevExpress WPF的Grid組件時(shí),如果遇到頻繁的數(shù)據(jù)更新該如何處理?本文將為大家提供一些解決方法,歡迎下載組件立即體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
DevExpress WPF擁有120+個(gè)控件和庫(kù),將幫助您交付滿足甚至超出企業(yè)需求的高性能業(yè)務(wù)應(yīng)用程序。通過DevExpress WPF能創(chuàng)建有著強(qiáng)大互動(dòng)功能的XAML基礎(chǔ)應(yīng)用程序,這些應(yīng)用程序?qū)W⒂诋?dāng)代客戶的需求和構(gòu)建未來新一代支持觸摸的解決方案。
您可以使用以下技術(shù)當(dāng)中的一種來優(yōu)化GridControl中的數(shù)據(jù)更新:
ChunkList
ChunkList<T> 適合處理大型集合更新的應(yīng)用程序,如果您執(zhí)行多個(gè)迭代數(shù)據(jù)源項(xiàng)的操作(例如,匯總計(jì)算、數(shù)據(jù)排序和過濾操作),ChunkList 的工作速度可能比普通集合慢。
我們建議您在以下情況下使用 ChunkList:
優(yōu)化摘要
GridControl 重新計(jì)算所有記錄以更新數(shù)據(jù)摘要,要優(yōu)化更新操作,請(qǐng)將屬性設(shè)置為 true。在這種情況下,GridControl僅計(jì)算更改記錄的值并根據(jù)這些值更新數(shù)據(jù)摘要,因此性能不依賴于記錄數(shù)。
我們建議您在以下情況下優(yōu)化匯總計(jì)算:
數(shù)據(jù)整型操作允許您對(duì)數(shù)據(jù)進(jìn)行排序、過濾和分組,以及計(jì)算摘要,發(fā)生數(shù)據(jù)源更改時(shí),GridControl會(huì)執(zhí)行這些操作。要將多個(gè)更新作為單個(gè)操作處理,請(qǐng)使用以下方法:
鎖定更新
當(dāng)您在 GridControl 中鎖定更新時(shí),用戶無(wú)法在 UI 中執(zhí)行任何數(shù)據(jù)操作。 您可以處理數(shù)據(jù)更新,然后將所有更改應(yīng)用到 GridControl。
我們建議您在以下情況下鎖定 GridControl 更新:
請(qǐng)按照以下步驟應(yīng)用此技術(shù):
下面的代碼示例演示了如何防止 GridControl 在發(fā)生多個(gè)數(shù)據(jù)更改時(shí)頻繁更新。
C#
public void PerformUpdates() { gridControl.BeginDataUpdate(); // Perform massive data updates... gridControl.EndDataUpdate(); }
如果使用 TreeListView,GridControl 會(huì)根據(jù)數(shù)據(jù)結(jié)構(gòu)類型處理分層更新:
無(wú)論數(shù)據(jù)結(jié)構(gòu)類型如何,調(diào)用和 方法來管理分層更新。 例如,如果數(shù)據(jù)源中的每次更改都會(huì)顯著影響節(jié)點(diǎn)層次結(jié)構(gòu),則您可能希望在 EndDataUpdate 調(diào)用之后只更新一次。 為此,請(qǐng)將 true 作為參數(shù)傳遞給 方法。
手動(dòng)刷新
將屬性設(shè)置為 false 來允許 GridControl 在數(shù)據(jù)更改時(shí)忽略數(shù)據(jù)整型操作,調(diào)用 方法來顯示控件中的所有更改。
我們建議您在以下情況下手動(dòng)強(qiáng)制更新 GridControl:
定時(shí)器自動(dòng)刷新
如果您的數(shù)據(jù)頻繁更改(例如,每毫秒),則 GridControl 沒有足夠的時(shí)間來更新其布局,您可以對(duì)計(jì)時(shí)器執(zhí)行更新操作。實(shí)現(xiàn)一個(gè)自定義集合,阻止來自數(shù)據(jù)源的更改通知并在指定的時(shí)間間隔內(nèi)復(fù)制數(shù)據(jù),此集合中的更改會(huì)觸發(fā) GridControl 更新。
我們建議您在以下情況下更新計(jì)時(shí)器上的數(shù)據(jù):
DevExpress技術(shù)交流群6:600715373 歡迎一起進(jìn)群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)