Skip to main content
All docs
V26.1
  • DxGrid.LoadLayout(GridPersistentLayout) Method

    Restores the DxGrid layout.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.Grid.v26.1.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    public void LoadLayout(
        GridPersistentLayout layout
    )

    Parameters

    Name Type Description
    layout GridPersistentLayout

    A GridPersistentLayout object that stores the layout.

    Remarks

    The Grid allows you to save and restore the component’s layout when necessary. The saved layout object includes the current page, column sort order/direction, column position, filter values, and grouped columns (information about expanded rows in groups is not included).

    Use the LoadLayout method to restore the grid’s layout on demand. As an alternative, handle the LayoutAutoLoading event to restore the layout when the component is initialized.

    Complete any of the following steps to obtain an object that stores the Grid layout:

    Note: When <DxGrid> loads a saved layout, it validates the layout against the current Grid configuration. If the column collection has changed, the Grid does not restore column settings. Instead, it loads only Grid-level settings, such as search text, page size, and the current page. Handle the LayoutAutoLoading event to restore column settings.

    You can save and restore properties that the GridPersistentLayout class does not include. Create a structure that stores a GridPersistentLayout instance and additional property values, and use Grid APIs to retrieve and save those values:

    namespace ExtendedGridLayout.Data {
        public class GridExtendedLayout {
            public GridPersistentLayout Layout { get; }
            public bool FilterRowVisible { get; }
            public bool GroupPanelVisible { get; }
            public bool SearchBoxVisible { get; }
    
            public GridExtendedLayout(GridPersistentLayout layout, bool filterRowVisible, bool groupPanelVisible, bool searchBoxVisible) {
                Layout = layout;
                FilterRowVisible = filterRowVisible;
                GroupPanelVisible = groupPanelVisible;
                SearchBoxVisible = searchBoxVisible;
            }
        }
    }
    

    View Example: Save and load extended information about the Grid layout

    Example

    The following code snippet displays two buttons: Save Layout and Load Layout. When a user clicks Save Layout, the component saves the current Grid layout to the Layout parameter. When the user clicks Load Layout, the component loads the most recently saved layout from the Layout parameter and applies it to the Grid.

    @using System.Text.Json
    @inject NwindDataService NwindDataService
    @inject IJSRuntime JSRuntime
    
    <DxButton Text="Save Layout" Click="OnSaveClick" />
    <DxButton Text="Load Layout" Click="OnLoadClick" />
    
    <DxGrid @ref="Grid" 
            Data="@GridData" 
            AutoExpandAllGroupRows="true"
            ColumnResizeMode="GridColumnResizeMode.NextColumn"
            ShowGroupPanel="true" 
            ShowFilterRow="true"
            PageSizeSelectorVisible="true" 
            PageSizeSelectorAllRowsItemVisible="true">
        <Columns>
            <DxGridDataColumn FieldName="Country" GroupIndex="0" />
            <DxGridDataColumn FieldName="City" GroupIndex="1" />
            <DxGridDataColumn FieldName="CompanyName" />
            <DxGridDataColumn FieldName="Address" />
            <DxGridDataColumn FieldName="Phone" />
            <DxGridDataColumn FieldName="ContactName" />
        </Columns>
    </DxGrid>
    
    @code {
        IGrid Grid { get; set; }
        object GridData { get; set; }
        GridPersistentLayout Layout { get; set; }
    
        protected override async Task OnInitializedAsync() {
            GridData = await NwindDataService.GetCustomersAsync();
        }
    
        void OnSaveClick() {
            Layout = Grid.SaveLayout();
        }
    
        void OnLoadClick() {
            Grid.LoadLayout(Layout);
        }
    }
    

    DevExpress Blazor Grid - Save and Restore the Layout

    Run Demo: Save and Restore the Layout View Example: Save and Load Layout Information

    See Also