ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / ParcelFabricExtensions Class / SetActiveRecordAsync Method / SetActiveRecordAsync(ParcelLayer,Int64) Method
The parcel layer.
The object Id of the parcel record feature to be set as the current record.
Example

    SetActiveRecordAsync(ParcelLayer,Int64) Method
    Sets the active record.
    Syntax
    public static Task<bool> SetActiveRecordAsync( 
       ParcelLayer parcelLayer,
       long oid
    )

    Parameters

    parcelLayer
    The parcel layer.
    oid
    The object Id of the parcel record feature to be set as the current record.

    Return Value

    A Task to a bool indicating if the active record is set.
    Exceptions
    ExceptionDescription
    Insufficient license. This method requires a standard license.
    Remarks
    All clients, including the parcel heads-up-display on the active map, will be notified and use the values given. Values for the parcel record must be set correctly to match the underlying data.
    Example
    Create a new record
    string errorMessage = await QueuedTask.Run(async () =>
    {
      Dictionary<string, object> RecordAttributes = new Dictionary<string, object>();
      string sNewRecord = "MyRecordName";
      try
      {
        var myParcelFabricLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<ParcelLayer>().FirstOrDefault();
        //if there is no fabric in the map then bail
        if (myParcelFabricLayer == null)
          return "There is no fabric in the map.";
        var recordsLayer = await myParcelFabricLayer.GetRecordsLayerAsync();
        var editOper = new EditOperation()
        {
          Name = "Create Parcel Fabric Record",
          ProgressMessage = "Create Parcel Fabric Record...",
          ShowModalMessageAfterFailure = true,
          SelectNewFeatures = false,
          SelectModifiedFeatures = false
        };
        RecordAttributes.Add("Name", sNewRecord);
        var editRowToken = editOper.Create(recordsLayer.FirstOrDefault(), RecordAttributes);
        if (!editOper.Execute())
          return editOper.ErrorMessage;
    
        var defOID = -1;
        var lOid = editRowToken.ObjectID.HasValue ? editRowToken.ObjectID.Value : defOID;
        await myParcelFabricLayer.SetActiveRecordAsync(lOid);
      }
      catch (Exception ex)
      {
        return ex.Message;
      }
      return "";
    });
    if (!string.IsNullOrEmpty(errorMessage))
      MessageBox.Show(errorMessage, "Create New Record.");
    Requirements

    Target Platforms: Windows 11, Windows 10, Windows 8.1

    ArcGIS Pro version: 2.7 or higher.
    See Also