Declined
Last Updated: 03 Sep 2026 08:19 by ADMIN
Peter
Created on: 27 Aug 2026 09:10
Category: UI for ASP.NET Core
Type: Feature Request
0
True Load/Save Grid State Persistence straight from the user interface of the grid
Built-in Grid UI for state persistence with multi-layout management

Add first-class Save/Load layout tools to the Grid toolbar that persist and restore Grid state without custom wiring. The default provider should use localStorage, with an extensibility point to plug in server storage. Users should be able to:
- Save multiple named layouts (columns/order/visibility, sorting, filtering, grouping, paging, search panel state).
- Open a built-in popup to manage layouts (save as, rename, delete, set default) and load a selected layout.
- Choose storage scope per layout (local vs. server) with a simple toggle; the server provider API can be implemented by the app.

Behavior and scope
- Persist and restore via an internal provider abstraction; ship a default localStorage provider and document a server provider interface.
- Support full or partial restores; allow picking which parts to include (for example, only columns/layout vs. full DataSource state) to align with existing guidance on selectively applying options through `setOptions({ ... })` and DataSource APIs like `dataSource.filter(...)` [1] [2] [3] [4].
- Avoid double reads and support automatic persistence flows similar to the documented beforeunload/ready pattern; native implementation should mirror the current best-practice approach that saves on leave and restores on load, with an option to disable automatic behavior when using explicit Save/Load actions [2] [5].
- Respect known constraints for SignalR binding by restoring layout via `setOptions({ columns, ... })` and reapplying data state via DataSource methods to keep the hub connection intact; provide an out-of-the-box “SignalR-safe” mode that applies filters/sort/page through DataSource APIs [1] [3] [4].
- Include search box value persistence and ensure multi-check filter lists load their full option sets when state is restored, consistent with existing recommendations to persist search input and configure filter DataSources [6].

Developer experience
- New built-in toolbar tools: “Save Layout,” “Load Layout,” and “Manage Layouts…”, plus a public API to trigger the same actions programmatically [7] [8].
- Config options to:
  - Enable the feature and set a default storage provider (local or custom).
  - Define which state segments to include (columns, sorting, filtering, grouping, paging, search).
  - Provide hooks/events for pre-save, post-save, pre-load, post-load to modify payloads or enforce policies.
- A documented provider interface for custom storage so apps can store/retrieve named layouts from a server.

Rationale
- State persistence is officially supported via `getOptions()`/`setOptions()` and is commonly implemented with localStorage and beforeunload/ready flows, but requires custom buttons and wiring today [2] [5].
- Partial restore and DataSource API reapplication are established practices to handle limitations such as SignalR-bound grids where full `setOptions()` is not viable; the feature should codify these patterns into a turnkey, user-facing experience [1] [3] [4].
- Developers frequently need to persist search input and ensure multi-check filter option lists are correct after restore; including these in first-party behavior reduces extra glue code [6].

Requested deliverables
- Built-in toolbar Save/Load/Manage UI with a popup for multiple named layouts and defaults.
- Default localStorage provider; extensible provider model for server storage.
- Options to scope which state is saved/restored and a SignalR-safe mode.
- Public API and events for integration and policy control.
- Docs and demos covering automatic and manual flows, local vs. server storage, and SignalR scenarios.

[1] [3] [4] [2] [5] [6] [7] [8]

[1]: https://www.telerik.com/forums/localstorage-persistence-not-working-with-kendo-grid
[2]: https://www.telerik.com/aspnet-core-ui/documentation/knowledge-base/grid-automatically-persist-state
[3]: https://www.telerik.com/forums/localstorage-persistence-not-working-with-kendo-grid
[4]: https://www.telerik.com/forums/localstorage-persistence-not-working-with-kendo-grid
[5]: https://www.telerik.com/aspnet-core-ui/documentation/knowledge-base/grid-automatically-persist-state
[6]: https://www.telerik.com/forums/grid-state-persistance-with-column-filters-or-search-bar
[7]: https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/data-management/grid/overview
[8]: https://www.telerik.com/aspnet-core-ui/documentation/html-helpers/data-management/grid/toolbar
1 comment
ADMIN
Viktor Tachev
Posted on: 03 Sep 2026 08:19

Hi,

Thank you for the detailed feedback and for outlining the proposed functionality and use cases.

We agree that Grid state persistence is a valuable capability, and the existing getOptions()/setOptions() APIs and documented approaches provide the necessary building blocks to implement it today. However, we do not currently plan to introduce a built-in layout management solution with the scope described in this request.

One of the challenges with a built-in solution is that the state users need to persist can vary significantly depending on the application and use case. Some scenarios may require only column configuration, while others may need filtering, sorting, grouping, paging, search state, or additional application-specific information. A first-class solution would therefore need to make assumptions about what should be persisted or introduce a substantial amount of configuration to accommodate the different scenarios.

The existing APIs provide the flexibility to define exactly which parts of the Grid state should be persisted and how they should be stored and restored. They also allow applications to implement the appropriate behavior for more specific scenarios.

For these reasons, we recommend continuing to use the existing state persistence mechanisms and implementing the UI and storage behavior according to the application's specific requirements.

We appreciate the detailed proposal and the feedback regarding the developer experience. We will take these use cases into consideration when evaluating future improvements to Grid state persistence.

 

Regards,
Viktor Tachev
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.