ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Desktop.Editing.Attributes Namespace / Inspector Class / Load Method / Load(Table,IEnumerable<Int64>) Method
A table from the geodatabase.
An IEnumerable containing the object IDs to load.
Example

In This Topic
    Load(Table,IEnumerable<Int64>) Method
    In This Topic
    Load multiple table rows into the inspector. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public void Load( 
       Table table,
       IEnumerable<long> oids
    )
    Public Overloads Sub Load( _
       ByVal table As Table, _
       ByVal oids As IEnumerable(Of Long) _
    ) 

    Parameters

    table
    A table from the geodatabase.
    oids
    An IEnumerable containing the object IDs to load.
    Exceptions
    ExceptionDescription
    This method or property must be called within the lambda passed to QueuedTask.Run.
    Example
    Update Annotation Text via attribute. Caveat: The TEXTSTRING Anno attribute must exist
    //See "Change Annotation Text Graphic" for an alternative if TEXTSTRING is missing from the schema
    await QueuedTask.Run(() =>
    {
        //annoLayer is ~your~ Annotation layer...
    
        // use the inspector methodology
        var insp = new Inspector();
        insp.Load(annoLayer, oid);
    
        // make sure TextString attribute exists.
        //It is not guaranteed to be in the schema
        ArcGIS.Desktop.Editing.Attributes.Attribute att = insp.FirstOrDefault(a => a.FieldName == "TEXTSTRING");
        if (att != null)
        {
            insp["TEXTSTRING"] = "Hello World";
    
            //create and execute the edit operation
            EditOperation op = new EditOperation();
            op.Name = "Update annotation";
            op.Modify(insp);
    
            //OR using a Dictionary - again TEXTSTRING has to exist in the schema
            //Dictionary<string, object> newAtts = new Dictionary<string, object>();
            //newAtts.Add("TEXTSTRING", "hello world");
            //op.Modify(annoLayer, oid, newAtts);
    
            op.Execute();
        }
    });
    Edit the attributes of a FeatureSceneLayer
    //must support editing!
    var featSceneLayer = MapView.Active.Map.GetLayersAsFlattenedList()
                       .OfType<FeatureSceneLayer>().FirstOrDefault();
    if (!featSceneLayer.HasAssociatedFeatureService || 
        !featSceneLayer.IsEditable)
      return;
    
    var ok = await QueuedTask.Run(() =>
    {
      var editOp = new EditOperation()
      {
        Name = "Edit FeatureSceneLayer Attributes",
        SelectModifiedFeatures = true
      };
      //make an inspector
      var inspector = new Inspector();
      //get the attributes for the specified oid
      inspector.Load(featSceneLayer, oid);
      inspector["PermitNotes"] = "test";//modify
      editOp.Modify(inspector);
      return editOp.Execute();//synchronous flavor
    });
    
    Select features via the MapView
    //assume the geometry used in SelectFeaturesEx() is coming from a 
    //map tool...
    //
    //SketchType = SketchGeometryType.Rectangle;
    //SketchOutputMode = SketchOutputMode.Screen;
    
    await QueuedTask.Run(() =>
    {
      var result = MapView.Active.SelectFeaturesEx(geometry);
      //Get scene layers with selections
      //At 2.x - var scene_layers = result.Where(kvp => kvp.Key is FeatureSceneLayer);
      var scene_layers = result.ToDictionary<FeatureSceneLayer>();
      foreach (var kvp in scene_layers)
      {
        var scene_layer = kvp.Key as FeatureSceneLayer;
        var sel_oids = kvp.Value;
        //If there are attributes then get them
        if (scene_layer.HasAssociatedFeatureService)
        {
          var insp = new Inspector();
          foreach (var oid in sel_oids)
          {
            insp.Load(scene_layer, oid);
            //TODO something with retrieved attributes
          } 
        }
      }
    });
     
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also