

Public Class TableFrameInfo Inherits MapSurroundInfo
public class TableFrameInfo : MapSurroundInfo
{
//Create a table frame.
//Note: Must be on QueuedTask.Run
//Build 2D envelope geometry
Coordinate2D rec_ll = new Coordinate2D(1.0, 3.5);
Coordinate2D rec_ur = new Coordinate2D(7.5, 4.5);
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
var tableFrameInfo = new TableFrameInfo()
{
FieldNames = fields,
MapFrameName = mf.Name,
MapMemberUri = lyr.URI
};
var tabFrame = ElementFactory.Instance.CreateMapSurroundElement(
layout, rec_env, tableFrameInfo) as TableFrame;
}
{
//Note: 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 = "Map Frame",
MapMemberUri = "CIMPATH=USNationalParks/NationalParks.json"
};
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;
}
System.Object
ArcGIS.Desktop.Layouts.MapSurroundInfo
ArcGIS.Desktop.Layouts.TableFrameInfo
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)