Skip to main content

Save and Restore Client Layout

  • 2 minutes to read

ASPxGridView allows you to save the following layout information to a database and then restore it:

  • column visible positions;
  • Grid and column width
  • Grid appearance settings
  • Filter, group, sort, and pager information

Use the ASPxGridView.SettingsCookies property to specify which ASPxGridView layout information to save.

Save Layout Automatically

Set the ASPxGridCookiesSettings.Enabled property to true to save a grid layout to cookies automatically.

<dx:ASPxGridView ID="ASPxGridView1" runat="server">
    <SettingsCookies Enabled="true" />

Save and Restore Layout Manually

The ASPxGridBase.ClientLayout event allows you to save a grid’s layout each time a user changes it and restore this layout on the first page load. Use the event’s ASPxClientLayoutArgs.LayoutMode property to specify whether to save or restore the grid’s layout.


The grid requires a round trip to the server (a callback) to raise the ASPxGridBase.ClientLayout event.

This example shows how to save or restore the ASPxGridView layout to or from a data store.

protected void ASPxGridView1_ClientLayout(object sender, 
DevExpress.Web.ASPxClientLayoutArgs e) {
    if (e.LayoutMode == DevExpress.Web.ClientLayoutMode.Saving) {
        SaveUserLayoutToDatabase(userID, "AccountGrid", e.LayoutData);
    else {
        if (System.IO.File.Exists(fileName))
            e.LayoutData = RestoreUserLayoutFromDatabase(userID, "AccountGrid");

The following two methods enable you to save and restore the grid layout:

Returns a string that contains the grid’s layout data.
Restores the grid’s layout from a specified string that contains its layout data.

The example below shows how to save and restore the previously saved layout manually. When a user clicks the Save Layout or Load Layout button, the grid calls the ASPxClientGridView.PerformCallback method to send a callback to the server. This method raises the server-side ASPxGridView.CustomCallback event. Handle this event to save or restore the grid’s layout.

protected void ASPxGridView1_CustomCallback(object sender,
    DevExpress.Web.ASPxGridViewCustomCallbackEventArgs e) {
    if (e.Parameters == "save") {
        SaveUserLayoutToDatabase("userID", "GridLayout", ASPxGridView1.SaveClientLayout());
    if (e.Parameters == "load") {
        ASPxGridView1.LoadClientLayout(GetUserLayoutFromDatabase("userID", "GridLayout"));

Online Examples

View Example: How to save/load the ASPxGridView's ClientLayout Data and choose them from the ASPxListBox

View Example: How to implement custom saving in XML and restoring of ASPxGridView client layout