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

TableView.EditFormTemplate Property

Gets or sets the template that defines the Edit Form appearance. This is a dependency property.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v24.2.dll

NuGet Package: DevExpress.Wpf.Grid.Core

#Declaration

public DataTemplate EditFormTemplate { get; set; }

#Property Value

Type Description
DataTemplate

The template that defines the appearance of the Edit Form.

#Remarks

The EditFormTemplate property allows you to create a custom Edit Form layout. You can use techniques from the following topic to rearrange elements within the Edit Form: Specify Edit Form Appearance.

The EditFormEditor objects defined in the EditFormTemplate use the ColumnBase.EditFormTemplate to display the column’s editor.

#Data Binding

The template’s data context is a DevExpress.Xpf.Grid.EditForm.EditFormRowData object. Use the following binding paths to access cell values and ViewModel properties:

  • Source.Row.[YourPropertyName] - Access a property of an object in the ItemsSource collection.
  • Source.DataContext.[FieldName] - Access a column value.
  • Source.View.DataContext.[YourPropertyName] - Access a property in a grid’s ViewModel.

#Example

The following code sample defines a template that customizes the Edit Form‘s appearance:

Data Grid - View EditFormTemplate Example

<dxg:GridControl ItemsSource="{Binding Source}">
    <dxg:GridControl.View>
        <dxg:TableView EditFormShowMode="Inline">
            <dxg:TableView.EditFormTemplate>
                <DataTemplate>
                    <GroupBox Header="Custom Inline Edit Form" 
                              Margin="10" Padding="10"
                              KeyboardNavigation.TabNavigation="Cycle">
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition />
                                <RowDefinition />
                                <RowDefinition />
                                <RowDefinition />
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="0.3*" />
                                <ColumnDefinition />
                            </Grid.ColumnDefinitions>

                            <TextBlock Text="Product Name: " Grid.Row="0" Grid.Column="0"/>
                            <dxg:EditFormEditor FieldName="ProductName" Grid.Row="0" Grid.Column="1" Margin="2"/>

                            <TextBlock Text="Unit Price: " Grid.Row="1" Grid.Column="0"/>
                            <dxg:EditFormEditor FieldName="UnitPrice" Grid.Row="1" Grid.Column="1" Margin="2"/>

                            <TextBlock Text="Quantity: " Grid.Row="2" Grid.Column="0"/>
                            <dxg:EditFormEditor FieldName="Quantity" Grid.Row="2" Grid.Column="1" Margin="2"/>

                            <StackPanel  Grid.Row="3" Grid.Column="1" Orientation="Horizontal">
                                <dx:SimpleButton Content="Apply" Command="{Binding CommitCommand}" Margin="2"/>
                                <dx:SimpleButton Content="Cancel" Command="{Binding CancelCommand}" Margin="2"/>
                            </StackPanel>
                        </Grid>
                    </GroupBox>
                </DataTemplate>
            </dxg:TableView.EditFormTemplate>
        </dxg:TableView>
    </dxg:GridControl.View>
    <!-- ... -->
    <dxg:GridColumn FieldName="Quantity">
        <dxg:GridColumn.EditFormTemplate>
            <DataTemplate>
                <dxe:SpinEdit Name="PART_Editor" IsFloatValue="False"/>
            </DataTemplate>
        </dxg:GridColumn.EditFormTemplate>
    </dxg:GridColumn>
</dxg:GridControl>

Specify the KeyboardNavigation.TabNavigation attached property for the root container in the EditFormTemplate to enable keyboard navigation within the custom Edit Form.

See Also