Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

BaseView.SaveLayoutToStream(Stream) Method

Saves a View’s layout to a specific stream.

Namespace: DevExpress.XtraGrid.Views.Base

Assembly: DevExpress.XtraGrid.v24.2.dll

NuGet Packages: DevExpress.Win.Grid, DevExpress.Win.Navigation

#Declaration

public void SaveLayoutToStream(
    Stream stream
)

#Parameters

Name Type Description
stream Stream

A Stream descendant to which a View’s layout is written.

#Remarks

Use the SaveLayoutToStream method to write a View’s layout to a stream. You can then read saved settings using the BaseView.RestoreLayoutFromStream method.

The ColumnView.OptionsLayout property controls which settings should be saved to the stream.

Important

The Document Manager identifies its child documents by names of controls hosted within these documents. Thus, it is recommended that you set unique names for these controls. Failure to comply with this recommendation will result in an exception for certain scenarios (e.g., saving and restoring a View layout by using the SaveLayoutToStream method).

Tip

You can utilize the Persistence Behavior or Workspace Manager component to save and restore layouts for all supported DevExpress controls at once.

#Example

The following sample code saves the layout of the active View to a memory stream and then restores it. The BaseView.SaveLayoutToStream and BaseView.RestoreLayoutFromStream methods are used for this purpose.

System.IO.Stream str;
//...
// Create and save the view's layout to a new memory stream.
str = new System.IO.MemoryStream();
gridControl1.FocusedView.SaveLayoutToStream(str);
str.Seek(0, System.IO.SeekOrigin.Begin);

// ...
// Load the view's layout from a previously saved memory stream.
gridControl1.FocusedView.RestoreLayoutFromStream(str);
str.Seek(0, System.IO.SeekOrigin.Begin);
See Also