WPF datagridview -在没有按回车键的情况下得到过时的值
本文关键字:情况下 过时 回车 datagridview WPF | 更新日期: 2023-09-27 18:11:26
我有一个名为mainEvents_sql的datagridview,其中包含以下列:
<DataGrid.Columns >
<DataGridTextColumn Header="Event ID" Binding="{Binding id}" IsReadOnly="True" />
<DataGridTextColumn Header="event name" Binding="{Binding name}" Width="*" />
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="Update" x:Name="btnUpdate"
Click="btnUpdate_Click" CommandParameter="{Binding name}" >
</Button>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</<DataGrid.Columns >
我正在尝试做一个更新按钮,我得到当前单元格,但它是原始的,而不是新的值,这是我的btnUpdate事件:
private void btnUpdate_Click(object sender, EventArgs e)
{
DataRowView selectedFile = ((FrameworkElement)sender).DataContext as DataRowView;
if (mainEvents_sql.SelectedItems.Count > 0){
String str = Convert.ToString(selectedFile.Row.ItemArray[1]);
// update the DB with ADO .net
}
}
str是原始值,如何获得新值?
编辑:我得到当前值,如果用户按下回车,但不是当他通过单击另一个项目退出单元格,我怎么能修复它?
add (my datagrid).CommitEdit();在我进行更改之前,这种方式的另一个优点是只在保存事件时更新源对象,因此它应该更快。