Silverlight数据网格已经结束
本文关键字:结束 网格 数据 数据网 Silverlight | 更新日期: 2023-09-27 18:16:33
在cellledit结束时,我想只在值改变时触发方法
我有一些可编辑的列,我想只在值已经改变时才触发方法
DataGridCellEditEndedEventArgs属性e.EditAction
总是返回已提交
可以监听DataGrid。准备cellforedit事件(或者可能是DataGrid。BeginningEdit(但我不是100%肯定),并在该点存储单元格的值。
然后不是听DataGrid.CellEditEnded
,而是听DataGrid.CellEditEnding。这个事件是专门为您提供取消编辑的选项而设计的,因此它不会被视为提交。datagridcellleditendingeventargs为它提供了一个Cancel bool
属性。检查新值是否与旧值一致,如果一致,将"Cancel
"属性设置为"true
"。当CellEditEnded
事件触发时,它的EditAction
将是Cancel
。
void MyGrid_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs args)
{
//store current value
}
void MyGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs args)
{
//check if values are the same
if (valuesAreSame)
args.Cancel = true;
}