The first time I show the form the EditingControl / RenderingControl I setup on the grid column do show up as expected. Then when the form closes the DisplayLayout.Save(...) is called.
The second time I show the form the DisplayLayout.Load(...) is called and the EditingControl / RenderingControl I setup on the grid DO NOT show up as expected, they are empty cells.
I'm adding the UltraControlContainerEditor instance to a unbound column after the data binding.
Any ideas on how I can get the EditingControl/RenderingControl to show up after the DisplayLayout.Load(...)?
Thanks,
Brian.
Hello ,
As far as I know Save and Load methods of the UltraGrid.DisplayLayout save the settings of the default UltraGrid editors (grid settings) and you are using UltraControlContainerEditor as an EditorComponent of a grid’s column (external for the grid). That is why when you load your Layout, the UltraGrid does not know what should be the settings of the UltraControlContainerEditor. My suggestion is to save the settings of UltraControlContainerEditor, and to load them after you load the grid’s layout.
UltraControlContainerEditor does not have implemented such methods like Save and Load, so I think that in this scenario you should decide how to load the control settings.
Please let me know if you have any further questions.
OK, I found the issue...
The issue was that I created a new instance of the UltraControlContainerEditor and assigned it to the column, then I called the DisplayLayout.Load(...). The column.EditorComponet was then null.
The fix was to create the new instance of UltraControlContainterEditor and assign it to the column after calling the DisplayLayout.Load(...)
Another solution could have been to remove the unbound column before calling the DisplayLayout.Save(...).