Enabling AllowRecordFiltering on XamDataGrid located in XamTileManager is very slow (400ms -> 1100 ms)

We're rebuilding our application using WPF and Infragistics components. We have a tab control, and multiple tabs. Most tabs contain a XamDataGrid.

Tabs that contain a XamDataGrid are very slow to load. A few tabs contain a XamTileManager with multiple XamDataGrids. These are very slow.

XamDataGrids in seperate views do not cause this problem for us.

Note: I'm not referring to the initial slowness caused by loading dlls. The tabs are still slow after opening and closing multiple times.

After testing and eliminating, we found that setting AllowRecordFiltering to false speeds up the loading of the tab by a factor of 2-3.

We want filtering. Is there a workaround for this problem?

I have attached a demo-project showing the problem. Loading the view (with 6 xamdatagrids in a xamtilemanager) averages about 1100 ms on my machine.

Setting AllowRecordFiltering to false causes this to drop to 450 ms. This seems like a bug, but perhaps there is a solution?

  • 26520
    Offline posted

    Hello Freek,

    I have been investigating into this issue that you are referring to, and I have reproduced it. After profiling the sample project that you have provided with and without the AllowRecordFiltering setting, I am seeing that most of the time appears to be spent verifying the cells that are in view for each of the XamDataGrid elements, whereas this code-path is hardly there when the AllowRecordFiltering setting is set to false. This is likely due to the FilterRecord being created for each grid, and the FilterCellValuePresenter creation for each filter cell that comes into view, although I would not expect it to take essentially double the time as when the XamDataGrid does not have filtering.

    I am going to continue to investigate into this issue with our development team, and I hope to have more information for you on this matter soon.

    Please let me know if you have any other questions or concerns on this matter.

    Associate Developer

Reply Children