我有一个网格,总共显示成千上万的行,显然用户只是在任何时间点看这些行的一小部分,一般在10〜20左右行。摆脱不可见的UltraGridRow实例
我启用LoadOnDemand,从而确保UltraGridRow实例和其他几个对象才会被创建时移动到可见区域:
grid.DisplayLayout.LoadStyle = LoadStyle.LoadOnDemand;
这个伟大的工程(根据我的记忆profiler),但是当我上下滚动整个表格时,即触发所有行的UltraGridRows的创建,那么所有的UltraGridRows将被创建并永远留在内存中。
我该如何(理想情况下自动,但如果没有,手动)摆脱UltraGridRow对象的视图行不可见? (或只是摆脱所有UltraGridRows的 - 反正自动他们会重新创建)
一种强制方法我想通了,是这样的:
var tmp = grid.DataSource;
grid.DataSource = null;
grid.DataSource = tmp;
它会导致一些副作用的,所以有一些其他摆脱UltraGridRows的方法?
顺便说一句,我想这两个家伙,但没有成功(试图真和假为布尔PARAMS)。
grid.Rows.Refresh(RefreshRow.ReloadData, false, true);
grid.Rows.DeallocateCells(true);
我试图让内存消耗下降,UltraGridRows是目前主要的消费(自己UltraGridRows不huuuge,他们消耗下每200个字节,这在我的情况,是指一对夫妇兆的,只是让你知道我们在说什么)。
这是Infragistics 9.2。
任何想法?