ArcGIS Pro 3.6 API Reference Guide
ArcGIS.Desktop.Layouts Namespace / TableFrameInfo Class
Members Example

In This Topic
    TableFrameInfo Class
    In This Topic
    Table frame properties for use with ElementFactory
    Object Model
    TableFrameInfo ClassTableFrameStyleItem Class
    Syntax
    public class TableFrameInfo : MapSurroundInfo 
    Public Class TableFrameInfo 
       Inherits MapSurroundInfo
    Example
    TableFrame_CreateNew
    //Create a new table frame on the active layout.
    
    Layout layout = LayoutView.Active.Layout;
    
    //Perform on the worker thread
    await QueuedTask.Run(() =>
    {
      //Build 2D envelope geometry
      Coordinate2D rec_ll = new Coordinate2D(1.0, 3.5);
      Coordinate2D rec_ur = new Coordinate2D(7.5, 4.5);
      //At 2.x - Envelope rec_env = EnvelopeBuilder.CreateEnvelope(rec_ll, rec_ur);
      Envelope rec_env = EnvelopeBuilderEx.CreateEnvelope(rec_ll, rec_ur);
    
      //Reference map frame
      MapFrame mf = layout.FindElement("Map Frame") as MapFrame;
    
      //Reference layer
      Map m = mf.Map;
      FeatureLayer lyr = m.FindLayers("GreatLakes").First() as FeatureLayer;
    
      //Build fields list
      var fields = new[] { "NAME", "Shape_Area", "Shape_Length" };
    
      //Construct the table frame
      //At 2.x - TableFrame tabFrame = LayoutElementFactory.Instance.CreateTableFrame(layout, rec_env, mf, lyr, fields);
      var surroundInfo = new TableFrameInfo()
      {
        FieldNames = fields,
        MapFrameName = mf.Name,
        MapMemberUri = lyr.URI
      };
      var tabFrame = ElementFactory.Instance.CreateMapSurroundElement(layout, rec_env, surroundInfo) as TableFrame;
    });
    Create Table Frame
    //Create a table frame.
    
    //Construct on the worker thread
    await QueuedTask.Run(() =>
    {
      //Build 2D envelope geometry
      Coordinate2D rec_ll = new Coordinate2D(1.0, 3.5);
      Coordinate2D rec_ur = new Coordinate2D(7.5, 4.5);
      //At 2.x - Envelope rec_env = EnvelopeBuilder.CreateEnvelope(rec_ll, rec_ur);
      Envelope rec_env = EnvelopeBuilderEx.CreateEnvelope(rec_ll, rec_ur);
    
      //Reference map frame and layer
      MapFrame mf = layout.FindElement("Map Frame") as MapFrame;
      FeatureLayer lyr = mf.Map.FindLayers("GreatLakes").First() as FeatureLayer;
    
      //Build fields list
      var fields = new[] { "NAME", "Shape_Area", "Shape_Length" };
    
      //Construct the table frame
      //At 2.x - TableFrame tabFrame = LayoutElementFactory.Instance.CreateTableFrame(
      //              layout, rec_env, mf, lyr, fields);
    
      var tableFrameInfo = new TableFrameInfo()
      {
        FieldNames = fields,
        MapFrameName = mf.Name,
        MapMemberUri = lyr.URI
      };
      var tabFrame = ElementFactory.Instance.CreateMapSurroundElement(
        layout, rec_env, tableFrameInfo) as TableFrame;
    });
    Create Table Frame 2
    //Must be on QueuedTask.Run(() => { ...
    
    //Build geometry
    Coordinate2D ll = new Coordinate2D(1, 1);
    Coordinate2D ur = new Coordinate2D(4, 4);
    Envelope env = EnvelopeBuilderEx.CreateEnvelope(ll, ur);
    
    var tableFrameInfo = new TableFrameInfo()
    {
      MapFrameName = mapFrameName,
      MapMemberUri = uri
    };
    var attribs = new List<CIMStringMap>();
    for (int i = 1; i < 6; i++)
    {
      attribs.Add(new CIMStringMap
      {
        Key = $"Key {i}",
        Value = $"Value {i}"
      });
    }
    var elemInfo = new ElementInfo()
    {
      CustomProperties = attribs
    };
    var tableFrameElem = ElementFactory.Instance.CreateMapSurroundElement(
                                  layout, env.Center, tableFrameInfo,
                                  "New Table Frame", false, elemInfo) as TableFrame;
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Layouts.MapSurroundInfo
          ArcGIS.Desktop.Layouts.TableFrameInfo

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also