Ejemplo n.º 1
0
        private void method_1(IMap imap_0, IMap imap_1)
        {
            int num;

            imap_1.ClearLayers();
            imap_1.DistanceUnits          = imap_0.DistanceUnits;
            imap_1.MapUnits               = imap_0.MapUnits;
            imap_1.SpatialReferenceLocked = false;
            imap_1.SpatialReference       = imap_0.SpatialReference;
            imap_1.Name = imap_0.Name;
            for (num = imap_0.LayerCount - 1; num >= 0; num--)
            {
                ILayer layer = imap_0.get_Layer(num);
                imap_1.AddLayer(layer);
            }
            IGraphicsContainer container = imap_0 as IGraphicsContainer;

            container.Reset();
            IElement element = container.Next();
            int      zorder  = 0;

            while (element != null)
            {
                (imap_1 as IGraphicsContainer).AddElement(element, zorder);
                zorder++;
                element = container.Next();
            }
            ITableCollection tables = imap_0 as ITableCollection;

            for (num = 0; num < tables.TableCount; num++)
            {
                (imap_1 as ITableCollection).AddTable(tables.get_Table(num));
            }
            (imap_1 as IActiveView).Extent = (imap_0 as IActiveView).Extent;
        }
Ejemplo n.º 2
0
        private void CopyMap(IMap fromCopyMap, IMap toCopyMap)
        {
            int num;

            toCopyMap.ClearLayers();
            toCopyMap.DistanceUnits          = fromCopyMap.DistanceUnits;
            toCopyMap.MapUnits               = fromCopyMap.MapUnits;
            toCopyMap.SpatialReferenceLocked = false;
            toCopyMap.SpatialReference       = fromCopyMap.SpatialReference;
            toCopyMap.Name = fromCopyMap.Name;
            for (num = fromCopyMap.LayerCount - 1; num >= 0; num--)
            {
                ILayer layer = fromCopyMap.get_Layer(num);
                toCopyMap.AddLayer(layer);
            }
            IGraphicsContainer container = fromCopyMap as IGraphicsContainer;

            container.Reset();
            IElement element = container.Next();
            int      zorder  = 0;

            while (element != null)
            {
                (toCopyMap as IGraphicsContainer).AddElement(element, zorder);
                zorder++;
                element = container.Next();
            }
            ITableCollection tables = fromCopyMap as ITableCollection;

            for (num = 0; num < tables.TableCount; num++)
            {
                (toCopyMap as ITableCollection).AddTable(tables.get_Table(num));
            }
            (toCopyMap as IActiveView).Extent = (fromCopyMap as IActiveView).Extent;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 得到地图上的所有表
        /// </summary>
        /// <param name="tableCollection">表集合(map as ITableCollection)</param>
        /// <returns></returns>
        public static ITable[] GetTables(this ITableCollection tableCollection)
        {
            List <ITable> tableList = new List <ITable>();

            for (int i = 0; i < tableCollection.TableCount; i++)
            {
                tableList.Add(tableCollection.get_Table(i));
            }
            return(tableList.ToArray());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 根据表名,在表集合上查找对应表,找不到则返回Null
        /// </summary>
        /// <param name="tableCollection">表集合(map as ITableCollection)</param>
        /// <param name="name">表名</param>
        /// <returns></returns>
        public static ITable GetTable(this ITableCollection tableCollection, string name)
        {
            ITable table = null;

            for (int i = 0; i < tableCollection.TableCount; i++)
            {
                ITable tmpTable = tableCollection.get_Table(i);
                if ((tmpTable as IDataset).Name == name)
                {
                    table = tmpTable;
                    break;
                }
            }
            return(table);
        }
Ejemplo n.º 5
0
        private void axPageLayoutControl_OnPageLayoutReplaced(object sender,
                                                              IPageLayoutControlEvents_OnPageLayoutReplacedEvent e)
        {
            int  num;
            IMap focusMap = this.axPageLayoutControl.ActiveView.FocusMap;

            this.axMapControl.Map.ClearLayers();
            (this.axMapControl.Map as IGraphicsContainer).DeleteAllElements();
            (this.axMapControl.Map as ITableCollection).RemoveAllTables();
            this.axMapControl.Map.ClearLayers();
            (this.axMapControl.Map as IActiveView).ContentsChanged();
            this.axMapControl.Map.MapUnits = focusMap.MapUnits;
            this.axMapControl.Map.SpatialReferenceLocked = false;
            this.axMapControl.Map.SpatialReference       = focusMap.SpatialReference;
            this.axMapControl.Map.Name = focusMap.Name;
            for (num = 0; num < focusMap.LayerCount; num++)
            {
                ILayer layer = focusMap.get_Layer(num);
                this.axMapControl.AddLayer(layer, num);
            }
            IGraphicsContainer container = focusMap as IGraphicsContainer;

            container.Reset();
            IElement element = container.Next();
            int      zorder  = 0;

            while (element != null)
            {
                (this.axMapControl.Map as IGraphicsContainer).AddElement(element, zorder);
                zorder++;
                element = container.Next();
            }
            ITableCollection tables = focusMap as ITableCollection;

            for (num = 0; num < tables.TableCount; num++)
            {
                (this.axMapControl.Map as ITableCollection).AddTable(tables.get_Table(num));
            }
            this.axMapControl.ActiveView.Extent = (focusMap as IActiveView).Extent;
            this.axMapControl.ActiveView.Refresh();
        }
Ejemplo n.º 6
0
 private void method_1()
 {
     if (this.itable_0 != null)
     {
         int     num;
         IFields fields = this.itable_0.Fields;
         if (fields != null)
         {
             for (num = 0; num < fields.FieldCount; num++)
             {
                 IField field = fields.get_Field(num);
                 switch (field.Type)
                 {
                 case esriFieldType.esriFieldTypeDouble:
                 case esriFieldType.esriFieldTypeInteger:
                 case esriFieldType.esriFieldTypeOID:
                 case esriFieldType.esriFieldTypeSingle:
                 case esriFieldType.esriFieldTypeSmallInteger:
                 case esriFieldType.esriFieldTypeString:
                     this.cboRelatingField.Properties.Items.Add(field.Name);
                     break;
                 }
             }
         }
         if (this.cboRelatingField.Properties.Items.Count > 0)
         {
             this.cboRelatingField.SelectedIndex = 0;
         }
         if (this.ibasicMap_0 != null)
         {
             ITable attributeTable;
             ILayer layer = null;
             for (num = 0; num < this.ibasicMap_0.LayerCount; num++)
             {
                 layer = this.ibasicMap_0.get_Layer(num);
                 if (layer != this.itable_0)
                 {
                     if (layer is IAttributeTable)
                     {
                         attributeTable = (layer as IAttributeTable).AttributeTable;
                         this.cboRelatingTable.Properties.Items.Add(new ObjectWrap(layer));
                     }
                     else if (layer is ICompositeLayer)
                     {
                         this.method_0(layer as ICompositeLayer);
                     }
                 }
             }
             ITableCollection tables = this.ibasicMap_0 as ITableCollection;
             for (num = 0; num < tables.TableCount; num++)
             {
                 attributeTable = tables.get_Table(num);
                 this.cboRelatingTable.Properties.Items.Add(new ObjectWrap(attributeTable));
             }
             if (this.cboRelatingTable.Properties.Items.Count > 0)
             {
                 this.cboRelatingTable.SelectedIndex = 0;
             }
         }
     }
 }