private void AddTableToLayout(Layout layout, Map theMap, MapFrame mfElm, string layerName, SetPage setPage, double yOffset)
        {
            var lyrs = theMap.FindLayers(layerName, true);

            if (lyrs.Count > 0)
            {
                Layer lyr      = lyrs[0];
                var   ptSymbol = GetPointSymbolFromLayer(lyr);
                if (ptSymbol != null)
                {
                    Coordinate2D llSym = new Coordinate2D(setPage.XOffsetMapMarginalia, setPage.YOffsetSymbol + yOffset);
                    var          geom  = MapPointBuilderEx.CreateMapPoint(llSym);
                    var          sym   = ElementFactory.Instance.CreateGraphicElement(layout, geom, ptSymbol);

                    Coordinate2D llText     = new Coordinate2D(setPage.XOffsetMapMarginalia + sym.GetWidth(), setPage.YOffsetSymbol + yOffset - sym.GetHeight() / 2);
                    var          geomLLText = MapPointBuilderEx.CreateMapPoint(llText);
                    var          text       = ElementFactory.Instance.CreateTextGraphicElement(layout, TextType.PointText, geomLLText);
                    text.SetAnchor(Anchor.CenterPoint);
                    text.SetHeight(text.GetHeight());
                    if (text.GetHeight() > sym.GetHeight())
                    {
                        sym.SetLockedAspectRatio(true);
                        sym.SetHeight(text.GetHeight());
                    }
                    else
                    {
                        text.SetLockedAspectRatio(true);
                        text.SetHeight(sym.GetHeight());
                    }
                }
                Coordinate2D llTab1         = new Coordinate2D(setPage.XOffsetMapMarginalia, yOffset - setPage.HeightPartsMarginalia);
                Coordinate2D urTab1         = new Coordinate2D(setPage.XOffsetMapMarginalia + setPage.XWidthMapMarginalia, yOffset);
                var          tableFrameInfo = new TableFrameInfo()
                {
                    MapFrameName = mfElm.Name,
                    MapMemberUri = lyr.URI
                };
                var table1 = ElementFactory.Instance.CreateMapSurroundElement(layout, EnvelopeBuilderEx.CreateEnvelope(llTab1, urTab1), tableFrameInfo) as TableFrame;
            }
        }
        private void AddTableToLayout(Layout layout, Map theMap, MapFrame mfElm, string layerName, SetPage setPage, double yOffset)
        {
            var lyrs = theMap.FindLayers(layerName, true);

            if (lyrs.Count > 0)
            {
                Layer lyr = lyrs[0];

                Coordinate2D llTab1         = new Coordinate2D(setPage.XOffsetMapMarginalia, yOffset - 2 * setPage.HeightPartsMarginalia);
                Coordinate2D urTab1         = new Coordinate2D(setPage.XOffsetMapMarginalia + setPage.XWidthMapMarginalia, yOffset);
                var          tableFrameInfo = new TableFrameInfo()
                {
                    MapFrameName = mfElm.Name,
                    MapMemberUri = lyr.URI
                };
                var theTable = ElementFactory.Instance.CreateMapSurroundElement(layout, EnvelopeBuilderEx.CreateEnvelope(llTab1, urTab1), tableFrameInfo) as TableFrame;
                var def      = theTable.GetDefinition() as CIMTableFrame;
                def.FittingStrategy = TableFrameFittingStrategy.AdjustColumnsAndSize;
                def.FillingStrategy = TableFrameFillingStrategy.ShowAllRows;
                theTable.SetDefinition(def);
            }
        }