Skip to main content

DataControlBase.AutoGenerateColumns Property

Gets or sets whether columns should be created automatically for all properties in the underlying data source when the View does not contain any columns. This is a dependency property.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v22.1.Core.dll

NuGet Package: DevExpress.Wpf.Grid.Core

Declaration

public AutoGenerateColumnsMode AutoGenerateColumns { get; set; }

Property Value

Type Default Description
AutoGenerateColumnsMode None

The way columns are generated.

Available values:

Name Description
None

Doesn’t create columns.

KeepOld

Creates columns for all properties in a datasource if the grid doesn’t contain any columns.

AddNew

Creates columns for all properties in a datasource, preserving the columns the grid already contains.

RemoveOld

Creates columns for all properties in a datasource, removing columns the grid already contains.

Remarks

This property specifies the way the DataControlBase.PopulateColumns method works.

 <dxg:GridControl x:Name="grid"
                  ItemsSource="{x:Static common:SalesProductData.Data}"
                  AutoGenerateColumns="AddNew">
    <dxg:GridControl.Columns>
        <dxg:GridColumn FieldName="State"/>
        <dxg:GridColumn FieldName="Category"/>
    </dxg:GridControl.Columns>
    <dxg:GridControl.View>
        <dxg:TableView x:Name="gridView"/>
    </dxg:GridControl.View>
</dxg:GridControl> 

Set the AutoGenerateColumns property to AutoGenerateColumnsMode.None to prevent columns from being automatically created.

Use the DisplayAttribute or the BrowsableAttribute to prevent the automatic generation of specific properties:

public class GridDataObject {
    [Browsable(false)]
    public string Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

Handle the AutoGeneratedColumns or the AutoGeneratingColumn event to specify column settings (assign column editors, hide individual columns, and so on).

See Also