Xceed Toolkit Plus for WPF v4.6 Documentation
CellEditor Property
Example 


Xceed.Wpf.DataGrid Assembly > Xceed.Wpf.DataGrid Namespace > ColumnBase Class : CellEditor Property
Gets or sets the CellEditor that contains the information required to display the template that will be used to edit the content of the cells contained in the column as well as the activation gestures that activate the template.
Syntax
'Declaration
 
Public Property CellEditor As CellEditor
'Usage
 
Dim instance As ColumnBase

Dim value As CellEditor

 

instance.CellEditor = value

 

value = instance.CellEditor
public CellEditor CellEditor {get; set;}

Property Value

The CellEditor that contains the information required to display the template that will be used to edit the content of the cells contained in the column as well as the activation gestures that activate the template. By default, a null reference (Nothing in Visual Basic).
Example
All examples in this topic assume that the grid is bound to the Orders table of the Northwind database, unless stated otherwise.
The following examples demonstrates how to change the edit template of the cell editor for the ShipVia column to a Slider control.
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"> 

  <Grid.Resources> 

    <xcdg:DataGridCollectionViewSource x:Key="cvs_orders" 

                                    Source="{Binding Source={x:Static Application.Current}, 

                                                      Path=Orders}"/> 

  </Grid.Resources> 

  <xcdg:DataGridControl x:Name="OrdersGrid" 

                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"> 

    <xcdg:DataGridControl.Columns> 

 

     <xcdg:Column FieldName="ShipVia"> 

       <xcdg:Column.CellEditor> 

         <xcdg:CellEditor> 

           <xcdg:CellEditor.EditTemplate> 

             <DataTemplate> 

               <Slider Value="{xcdg:CellEditorBinding}" Minimum="1" Maximum="3"/> 

             </DataTemplate> 

           </xcdg:CellEditor.EditTemplate> 

           <xcdg:CellEditor.ActivationGestures> 

             <xcdg:KeyActivationGesture Key="Right"/> 

             <xcdg:KeyActivationGesture Key="Left"/> 

           </xcdg:CellEditor.ActivationGestures> 

         </xcdg:CellEditor> 

       </xcdg:Column.CellEditor> 

     </xcdg:Column> 

    </xcdg:DataGridControl.Columns> 

  </xcdg:DataGridControl> 

</Grid>
The following example demonstrates how to change the edit template of the cell editor for the Freight column to a custom calculator control. The C# code for the Calculate method called in the buttons' Click event simply calculates the new equation and is not provided. To shorten the code, some of the Button and KeyActivationGesture declarations have been removed.
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"> 

  <Grid.Resources> 

    <xcdg:DataGridCollectionViewSource x:Key="cvs_orders" 

                                    Source="{Binding Source={x:Static Application.Current}, 

                                                      Path=Orders}"/> 

  </Grid.Resources> 

   <xcdg:DataGridControl x:Name="OrdersGrid" 

                         ItemsSource="{Binding Source={StaticResource cvs_orders}}"> 

      <xcdg:DataGridControl.Columns> 

 

        <xcdg:Column FieldName="Freight"> 

           <xcdg:Column.CellEditor> 

              <xcdg:CellEditor> 

                 <xcdg:CellEditor.EditTemplate> 

                    <DataTemplate> 

                        <DockPanel> 

                           <TextBlock x:Name="actual_value" 

                                     Text="{xcdg:CellEditorBinding}" 

                                      DockPanel.Dock="Top"/> 

                           <UniformGrid Columns="4" x:Name="parentPanel" 

                                        Tag="{Binding ElementName=actual_value, 

                                                      Path=Text, 

                                                      Mode=TwoWay, 

                                                      UpdateSourceTrigger=PropertyChanged}" 

                                        Button.Click="Calculate" 

                                        DockPanel.Dock="Top"> 

                              <Button x:Name="seven" Content="7"/> 

                              <!-- ... --> 

                              <Button x:Name="addition" Content="+"/> 

                           </UniformGrid> 

                           <TextBlock x:Name="current_equation" DockPanel.Dock="Bottom"/> 

                         </DockPanel> 

                     </DataTemplate> 

                 </xcdg:CellEditor.EditTemplate> 

                 <xcdg:CellEditor.ActivationGestures> 

                    <xcdg:KeyActivationGesture Key="NumPad0"/> 

                    <!-- ... --> 

                    <xcdg:KeyActivationGesture Key="NumPad9"/> 

                 </xcdg:CellEditor.ActivationGestures> 

              </xcdg:CellEditor> 

           </xcdg:Column.CellEditor> 

        </xcdg:Column> 

      </xcdg:DataGridControl.Columns> 

   </xcdg:DataGridControl> 

</Grid>
The following example demonstrates how to provide a default cell editor for columns that have an Int32 data type.
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid" 

      xmlns:s="clr-namespace:System;assembly=mscorlib"> 

  <Grid.Resources> 

    <xcdg:DataGridCollectionViewSource x:Key="cvs_orders" 

                                    Source="{Binding Source={x:Static Application.Current}, 

                                                      Path=Orders}"/> 

  </Grid.Resources> 

  <xcdg:DataGridControl x:Name="OrdersGrid" 

                        ItemsSource="{Binding Source={StaticResource cvs_orders}}"> 

 

   <xcdg:DataGridControl.DefaultCellEditors> 

     <xcdg:CellEditor x:Key="{x:Type s:Int32}"> 

       <xcdg:CellEditor.EditTemplate> 

         <DataTemplate> 

           <Slider Value="{xcdg:CellEditorBinding}"/> 

         </DataTemplate> 

       </xcdg:CellEditor.EditTemplate> 

     </xcdg:CellEditor> 

   </xcdg:DataGridControl.DefaultCellEditors> 

  </xcdg:DataGridControl> 

</Grid>
Requirements

Target Platforms: Windows 11, Windows 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

ColumnBase Class
ColumnBase Members