ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Core Namespace / Project Class / HasEdits Property
Example

In This Topic
    HasEdits Property
    In This Topic
    Gets if there are any unsaved data edits in the project.
    Syntax
    Public ReadOnly Property HasEdits As Boolean
    public bool HasEdits {get;}
    Example
    Disable Editing
    // Disables editing for the current project.
    // discard any edits if they exist
    var discardEdits = true;
    // only needed if editing is enabled
    if (Project.Current.IsEditingEnabled)
    {
      // check for edits
      if (Project.Current.HasEdits)
      {
        if (discardEdits)
          await Project.Current.DiscardEditsAsync();
        else
          await Project.Current.SaveEditsAsync();
      }
      var bEditingIsEnabled = !Project.Current.SetIsEditingEnabledAsync(false).Result;
    }
    Start a single workspace edit session - Full example
    {
      // ApplicationOptions.EditingOptions.EnableEditingFromEditTab is true
      // ApplicationOptions.EditingOptions.IsSingleWorkspaceEditSession is true
    
      var project = Project.Current;
    
      // check if already editing
      if (project.IsEditingEnabled)
      {
        // save or discard any edits
        if (project.HasEdits)
        {
          var res = MessageBox.Show("Save edits?", "Save Edits?", System.Windows.MessageBoxButton.YesNoCancel);
          if (res == System.Windows.MessageBoxResult.Cancel)
            return;
          else if (res == System.Windows.MessageBoxResult.No)
            await project.DiscardEditsAsync();
          else
            await project.SaveEditsAsync();
        }
        // close the edit session
        await project.SetIsEditingEnabledAsync(false);
      }
    
      // find a layer
      var mm = MapView.Active.Map.GetLayersAsFlattenedList().FirstOrDefault(l => l.Name == "Roads");
      if (mm == null)
        return;
    
      // start the edit session on the workspace attached to the layer
      var success = await project.SetSingleEditWorkspaceAsync(mm);
    
      // if success = true then an edit session was started
      // and project.IsEditingEnabled will be true
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also