ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Desktop.Editing.Events Namespace / RowChangedEventArgs Class / CancelEdit Method / CancelEdit(Func<Task<Boolean>>) Method
This function will be called and its result awaited after the edit operation and if it returns true the Edit will be retried.
Example

In This Topic
    CancelEdit(Func<Task<Boolean>>) Method
    In This Topic
    Cancel the current EditOperation with a callback to execute code and possibly retry.
    Syntax
    public void CancelEdit( 
       Func<Task<bool>> callback
    )
    Public Overloads Sub CancelEdit( _
       ByVal callback As Func(Of Task(Of Boolean)) _
    ) 

    Parameters

    callback
    This function will be called and its result awaited after the edit operation and if it returns true the Edit will be retried.
    Example
    Cancel a delete
    public static void StopADelete()
    {
      // subscribe to the RowDeletedEvent for the appropriate table
      Table table = MapView.Active.Map.GetLayersAsFlattenedList().OfType<FeatureLayer>().FirstOrDefault().GetTable();
      RowDeletedEvent.Subscribe(OnRowDeletedEvent, table);
    }
    
    private static void OnRowDeletedEvent(RowChangedEventArgs args)
    {
      // RowEvent callbacks are always called on the QueuedTask so there is no need 
      // to wrap your code within a QueuedTask.Run lambda.
    
      var row = args.Row;
    
      // cancel the delete if the feature is in Police District 5
    
      var fldIdx = row.FindField("POLICE_DISTRICT");
      if (fldIdx != -1)
      {
        var value = row[fldIdx].ToString();
        if (value == "5")
        {
          //cancel with dialog
          // Note - feature edits on Hosted and Standard Feature Services cannot be cancelled.
          args.CancelEdit("Delete Event\nAre you sure", true);
    
          // or cancel without a dialog
          // args.CancelEdit();
        }
      }
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also