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
UltraGrid Designer Code and Version Control Challenges
posted

Are there any tips or tricks to working with the UltraGrid (code serialization) that will minimize the apparent changes made to designer code?   Our current version of Infragistics is 12.1, but we only upgraded recently.

 

When working with the UltraGrid, version control is not easy at all.  It is hard to interpret changes from one version to the next.  Code differences in the designer file can sometimes appear overwhelming, even when it is just a simple UI change that was intended (eg. addition of a column, changing of an appearance).

 

Because of these version control issues, it becomes very challenging when working on an UltraGrid in a team setting.  If another developer promotes a change to a grid before you can, it is often virtually impossible to perform an analysis to determine (1) who made more changes, (2) exactly what the nature of their changes were, (3) how to integrate the two sets of changes back together again without losing anything.

 

The root of the problem is probably based on the fact that the designer produces a procedural output (InitializeComponent) instead of a more declarative description of the UltraGrid.  In this procedural output, the numbering system used for automatically generated local variables becomes a problem (appearance123, ultraGridWhatever123).  Combined with the numbering system, the sequencing of the procedural output becomes a problem, as it sometimes changes without warning.   I wish there was a way that the Infragistics controls would produce a all-inclusive declarative version of the grid, even if it was just as a comment or in a separate file (which was not necessarily built into the assembly).

I'm hoping there is something that can be done.  I have a large UltraGrid that is responsible for generating a 4000-line designer code file.  It seems like the designer code is randomly re-arranged each time we need to touch the grid in a minor way.  Any feedback would be very much appreciated.