中断在 RadGridView 中刷新我的自定义组合框列

break in refreshing my custom combo box column in RadGridView

我为 RadGridview 创建了一个自定义网格列,它基于 DataItem 行 class,找到相应的项目并将它们放入 Combobox.

当页面加载时,自定义列将只为可视行和其他行自由创建,当用户向下滚动时,它已被触发创建。不幸的是,当用户滚动时,为每一行创建了错误的组合框。

例如,运行下面的示例,看到无量纲行前面的组合框,它必须是空的,这是正确的。现在向下滚动并单击一个单元格,然后向上滚动到维度行,该行现在有一个 Combobox,其值是错误的。请注意,维度组合框现在向上移动了!

为什么组合框在滚动或 windows 尺寸改变后是错误的?

是虚拟化导致了您描述的行为。

您可以像这样在 RadGridView 上禁用它:

EnableRowVirtualization="False"

这将导致加载所有数据,无论是否在视图中,如果您有大量数据,这可能会导致严重的性能问题。