[英]Infragistics Ultragrid - slow performance with PerformAutoResize
我使用Ultragrid的代碼執行得很差,但是在跟蹤輸出上使用D3.js運行可視化分析時,我發現grid__InitializeRow多次調用自身。
觸發器創建者: this.grid.InitializeRow += new Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(this.grid_InitializeRow);
問題從以下代碼開始:
column.PerformAutoResize(PerformAutoSizeType.AllRowsInBand, true)
在網上搜索時,我找不到有關此信息,但是找到了一些可能的競爭者-調用其中任何一個似乎都會調用初始化行:
問題
提前致謝
通過Infragistics論壇找到了答案:
調用column.PerformAutoResize(PerformAutoSizeType.AllRowsInBand, true)
會觸發來自數據源的重新綁定,進而觸發initialise_row
。
由於多次調用了重新調整大小(每條帶每列一次),因此重新綁定變得一發不可收拾。
作為參考,我們還存在以下問題。 根據一年的數據,渲染需要2分鍾:
希望這可以幫助其他遇到類似問題的人
我無法充分發揮“ PerformAutoResize”的作用。 這將需要10秒鍾的時間。 因此,最終我決定自己動手,這僅限於我們對網格配置的特殊使用,該配置僅在每個網格單元中使用Graphics.MeasureString函數,從而僅在單元格(而不是子控件)中顯示文本。
對於600 x 20的網格,大約需要40行代碼,並將時間減少到0.4秒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.