Quantcast
Channel: Extended WPF Toolkit™ Community Edition
Viewing all articles
Browse latest Browse all 4964

Commented Unassigned: Enter after changing DateTimePicker in a DataGrid... [21714]

$
0
0
When I press ENTER after I'm finished editing a DateTimePicker which is in a DataGrid it doesn't trigger RowEditEnding.

```
<DataGridTemplateColumn ClipboardContentBinding="{x:Null}" Header="Created Date">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<xctk:DateTimePicker AutoCloseCalendar="True" Value="{Binding CreatedDate, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

```
Comments: ** Comment from web user: BoucherS **

Hi,

If you use the Xceed DataGrid, it will work when subscribing to specific row.EditEnding event :
```
<xcdg:DataGridControl x:Name="grid">
<xcdg:DataGridControl.Columns>
<xcdg:Column FieldName="ID"/>
<xcdg:Column FieldName="Name" />
<xcdg:Column FieldName="Birthday"/>
</xcdg:DataGridControl.Columns>
</xcdg:DataGridControl>

private void MainWindow_Loaded( object sender, RoutedEventArgs e )
{
foreach( object item in grid.Items )
{
var row = grid.GetContainerFromItem( item ) as DataRow;
row.EditEnding += row_EditEnding;
}
}

private void row_EditEnding( object sender, Xceed.Wpf.Toolkit.Core.CancelRoutedEventArgs e )
{
}
```

If you use the Microsoft DataGrid, you need to put the DatePicker in a <DataGridTemplateColumn.CellEditingTemplate> tag, not a <DataGridTemplateColumn.CellTemplate> tag :
```
<DataGrid x:Name="grid"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="ID"
Binding="{Binding ID}" />
<DataGridTemplateColumn ClipboardContentBinding="{x:Null}"
Header="Created Date">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Birthday}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<xctk:DateTimePicker AutoCloseCalendar="True"
Value="{Binding Birthday, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Name"
Binding="{Binding Name}" />
</DataGrid.Columns>
</DataGrid>

private void MainWindow_Loaded( object sender, RoutedEventArgs e )
{
grid.RowEditEnding += grid_RowEditEnding;
}

private void grid_RowEditEnding( object sender, DataGridRowEditEndingEventArgs e )
{
}


```


Viewing all articles
Browse latest Browse all 4964

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>