wpf-devexpress-dot-xpf-dot-grid-dot-datacontrolserializationoptions-32200620.md
Gets or sets whether the columns that exist in a layout when it is restored but do not currently exist in the grid, should be discarded. This is a dependency property.
Namespace : DevExpress.Xpf.Grid
Assembly : DevExpress.Xpf.Grid.v25.2.Core.dll
NuGet Package : DevExpress.Wpf.Grid.Core
See GetRemoveOldColumns(DependencyObject) and SetRemoveOldColumns(DependencyObject, Boolean).
| Type | Description |
|---|---|
| Boolean |
true to discard the columns that exist in the layout being restored but do not currently exist in the grid; false to add these columns to the grid.
|
The RemoveOldColumns option affects how the grid’s layout is restored. If it is set to true , the columns that exist in the layout being loaded, but do not exist in the grid, will not be re-created. Otherwise, these columns will be added to the grid.
To learn more, see Saving and Restoring Layout.
This example shows how to save the GridControl‘s layout to a memory stream. To do this, click the Save Layout button. Click the Restore Layout button to restore the saved layout.
View Example: Save Layout and Restore It from a Memory Stream
<dxg:GridControl x:Name="grid"
dx:DXSerializer.StoreLayoutMode="All"
dxg:GridSerializationOptions.AddNewColumns="False"
dxg:GridSerializationOptions.RemoveOldColumns="False"
UseFieldNameForSerialization="True">
<dxg:GridColumn FieldName="IssueName"/>
<dxg:GridColumn FieldName="IssueType"/>
<dxg:GridColumn FieldName="IsPrivate" Header="Private"/>
<dxg:GridControl.View>
<dxg:TableView AutoWidth="True"/>
</dxg:GridControl.View>
</dxg:GridControl>
<StackPanel Grid.Row="1" Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Button Margin="1" Content="Add a New Column" Click="OnAddNewColumn"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<Button Content="Save Layout" Margin="1" Click="OnSaveLayout"/>
<Button Content="Restore Layout" Margin="1" Click="OnRestoreLayout"/>
</StackPanel>
</StackPanel>
public partial class Window1 : Window {
MemoryStream layoutStream;
public Window1() {
InitializeComponent();
grid.ItemsSource = IssueList.GetData();
}
void OnSaveLayout(object sender, RoutedEventArgs e) {
layoutStream = new MemoryStream();
grid.SaveLayoutToStream(layoutStream);
}
void OnRestoreLayout(object sender, RoutedEventArgs e) {
layoutStream.Position = 0;
grid.RestoreLayoutFromStream(layoutStream);
}
void OnAddNewColumn(object sender, RoutedEventArgs e) {
grid.Columns.Add(new DevExpress.Xpf.Grid.GridColumn() { FieldName = "IsPrivate" });
}
}
Public Partial Class Window1
Inherits Window
Private layoutStream As MemoryStream
Public Sub New()
Me.InitializeComponent()
Me.grid.ItemsSource = IssueList.GetData()
End Sub
Private Sub OnSaveLayout(ByVal sender As Object, ByVal e As RoutedEventArgs)
layoutStream = New MemoryStream()
Me.grid.SaveLayoutToStream(layoutStream)
End Sub
Private Sub OnRestoreLayout(ByVal sender As Object, ByVal e As RoutedEventArgs)
layoutStream.Position = 0
Me.grid.RestoreLayoutFromStream(layoutStream)
End Sub
Private Sub OnAddNewColumn(ByVal sender As Object, ByVal e As RoutedEventArgs)
Me.grid.Columns.Add(New DevExpress.Xpf.Grid.GridColumn() With {.FieldName = "IsPrivate"})
End Sub
End Class
See Also
DataControlSerializationOptions Class