public virtual void FinishCellEdit(bool expectingCellEdit)
{
if (!this.IsCellEditing)
return;
this.cellEditEventArgs.Cancel = false;
this.cellEditEventArgs.NewValue = this.GetControlValue(this.cellEditor);
this.OnCellEditFinishing(this.cellEditEventArgs);
// If someone doesn't cancel the editing process, write the value back into the model
if (!this.cellEditEventArgs.Cancel) {
this.cellEditEventArgs.Column.PutValue(this.cellEditEventArgs.RowObject, this.cellEditEventArgs.NewValue);
this.RefreshItem(this.cellEditEventArgs.ListViewItem);
}
this.CleanupCellEdit(expectingCellEdit);
}