Idea Summary
I'd like to enhance the column synchronization feature in Regions/Grid components by providing more granular control over how columns are synchronized. Currently, the synchronization process likely replaces all columns, but I propose adding two additional synchronization modes:
For example: Sometimes the value-required flag comes back, but we don't want it ;-)
- Add New Columns Only: This mode would only add columns that don't already exist without affecting existing columns and their settings
- Remove Columns Only: This mode would only remove columns that are no longer needed while preserving all other columns and their custom settings
Use Case
This idea would be useful in the following scenarios:
- When a developer has spent significant time configuring custom settings for existing columns (like width, visibility, sorting, formatting) and doesn't want to lose these configurations during synchronization
- During iterative development when the underlying data model changes frequently, adding or removing fields that need to be reflected in the UI
- When working with large grids/tables with many columns where reconfiguring all columns after each synchronization would be time-consuming
- In applications where end users can customize their grid views, and synchronization shouldn't override their preferences for existing columns
Preferred Solution
I would implement this by adding a dropdown or radio button selection to the synchronization dialog with three options:
- Full Synchronization (current behavior): Replace all columns with the synchronized set
- Add New Columns Only: Only add columns that don't exist yet, preserving all settings for existing columns
- Remove Extra Columns: Only remove columns that aren't in the synchronized set, preserving all remaining columns and their settings