我使用 Ultragrid 的代码性能很差,但在跟踪输出上使用 D3.js 运行可视化分析时,我发现 grid__InitializeRow 多次调用自身。
触发器创建者:this.grid.InitializeRow += new Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(this.grid_InitializeRow);
问题始于此代码:
column.PerformAutoResize(PerformAutoSizeType.AllRowsInBand, true)
在网上搜索时我找不到这方面的信息,但发现了一些可能的竞争者 - 调用其中任何一个似乎都会调用初始化行:
- grid.DataSource
- grid.Rows.Band.Layout.Bands
- column.performAutoResize
问题
- 是否有相关文档
- 我可以暂时禁用触发器吗
提前致谢
最佳答案
我无法使“PerformAutoResize”充分执行。这将需要 10 秒。所以最后我决定推出自己的,这仅限于我们对网格配置的特殊使用,它仅在单元格中显示文本(而不是子控件),对每个网格单元格使用 Graphics.MeasureString 函数。
大约 40 行代码,600 x 20 网格所需的时间减少到 0.4 秒。
关于c# - Infragistics Ultragrid - PerformAutoResize 性能缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23789854/