c# - Infragistics Ultragrid - PerformAutoResize 性能缓慢

标签 c# ultrawingrid

我使用 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

问题

  1. 是否有相关文档
  2. 我可以暂时禁用触发器吗

提前致谢

最佳答案

我无法使“PerformAutoResize”充分执行。这将需要 10 秒。所以最后我决定推出自己的,这仅限于我们对网格配置的特殊使用,它仅在单元格中显示文本(而不是子控件),对每个网格单元格使用 Graphics.MeasureString 函数。

大约 40 行代码,600 x 20 网格所需的时间减少到 0.4 秒。

关于c# - Infragistics Ultragrid - PerformAutoResize 性能缓慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23789854/

相关文章:

c# - Infragistics Ultragrid - 选择最右边的列时不要移动到行下方

c# - 如何为特殊日子生成 Cron 表达式?

c# - Infragistics UltraGrid - 如何在滚动到达底部时添加行?

c# - Ultrawingrid - 根据唯一值选择行

infragistics - 使用 UltraWinGrid 选择同一列中的多个单元格

c# - 如何更改 UltraGrid 中的单元格内容

c# - 如何响应.write bytearray?

c# - 如何在 WPF 中向形状添加文本

c# - ListView 分组和排序

c# - 隔离存储误解