Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
2150
LoadCustomizations not working for certain RecordContainerGenerationModes
posted

In order to get the best performance optimizations out of the XamDataGrid, I'm told I should use the default RecordContainerGenerationMode (Recycle).

However, one reason I had been using another generation mode (PreLoad) is because it gave me well-defined and predictable behavior where SaveCustomizations() and LoadCustomizations() is concerned.


Those methods always behave well with a PreLoad XamDataGrid, as long as the grid has been loaded, and layouts have been initialized, and the dispatcher queue is relatively empty.  However, now that I'm trying to use "Recycle" again (thereby fixing many general-purpose layout performance issues) I'm struggling with the customization problems once again (the ones that had sent be over to "PreLoad").

Attached is an example.  Note that I do customizations as a very LAST step after:

  • Window Loads
  • XamDataGrid Loads
  • All Layouts are Initialized
  • All Dispatcher Operations are Complete
  • Send something to dispatcher on ContextIdle

I did this as the very LAST step, to try to give customizations the best possible chance to work properly but they still don't.  Note that the customizations are applied correctly to the FieldLayout in view (TopMovie), but another FieldLayout that is *not* in view yet is totally misconfigured (OtherMovie).  Both of them should have the same customizations  applied.

In order for both FieldLayouts to be customized properly, change the RecordContainerGenerationMode to "PreLoad".  You will see that there are three fields being customized ("MovableFields").  One "MoveableField" is hidden and the other two have their column positions exchanged.

Please let me know if there are questions about how the attached example is intended to behave.

 

CustomizationConcerns.zip