Beispiel #1
0
        public override void OnActivate()
        {
            base.OnActivate();

            IMapControlDefault mapCtrl = null;

            if (m_app.MapControl is AxMapControl)
            {
                mapCtrl = ((m_app.MapControl as AxMapControl).Object as IMapControlDefault);
            }
            else
            {
                return;
            }

            WinConnectToSDE winConnToSDE = new WinConnectToSDE();

            winConnToSDE.Owner = m_app.MainWindow;
            if ((bool)winConnToSDE.ShowDialog())
            {
                string server   = winConnToSDE.Server;
                string instance = winConnToSDE.Instance;
                string database = winConnToSDE.Database;
                string user     = winConnToSDE.User;
                string password = winConnToSDE.Password;
                string version  = winConnToSDE.Version;

                IWorkspace ws = OpenSDEWorkspace(server, instance, database, user, password, version);
                if (ws != null)
                {
                    FormSelectDatasets frmSelectDS = new FormSelectDatasets(ws);
                    if (frmSelectDS.ShowDialog() == DialogResult.OK)
                    {
                        List <ILayer> layers = frmSelectDS.SelectedLayers;
                        foreach (ILayer layer in layers)
                        {
                            AddLayerToMap(mapCtrl.Map, layer);
                        }

                        mapCtrl.ActiveView.Extent = frmSelectDS.SelectedExtent;
                        mapCtrl.ActiveView.Refresh();
                    }
                }
            }
        }
Beispiel #2
0
        public override void OnActivate()
        {
            base.OnActivate();

            IMapControlDefault mapCtrl = null;

            if (m_app.MapControl is AxMapControl)
            {
                mapCtrl = ((m_app.MapControl as AxMapControl).Object as IMapControlDefault);
            }
            else
            {
                return;
            }

            string gdbPath = GetFileGDBPath();

            if (Directory.Exists(gdbPath))
            {
                IWorkspace ws = OpenFileGDBWorkspace(gdbPath);
                if (ws != null)
                {
                    FormSelectDatasets frmSelectDS = new FormSelectDatasets(ws);
                    if (frmSelectDS.ShowDialog() == DialogResult.OK)
                    {
                        List <ILayer> layers = frmSelectDS.SelectedLayers;
                        foreach (ILayer layer in layers)
                        {
                            AddLayerToMap(mapCtrl.Map, layer);
                        }

                        mapCtrl.ActiveView.Extent = frmSelectDS.SelectedExtent;
                        mapCtrl.ActiveView.Refresh();
                    }
                }
            }
        }
Beispiel #3
0
        public override void OnActivate()
        {
            base.OnActivate();

            IMapControlDefault mapCtrl = null;

            if (m_app.MapControl is AxMapControl)
            {
                mapCtrl = ((m_app.MapControl as AxMapControl).Object as IMapControlDefault);
            }
            else
            {
                return;
            }

            OpenFileDialog openDlg = new OpenFileDialog();

            openDlg.Filter = "个人地理数据库(*.mdb)|*.mdb";
            if (openDlg.ShowDialog() == DialogResult.OK)
            {
                System.Windows.Forms.Application.DoEvents();

                IWorkspace ws = OpenAccessWorkspace(openDlg.FileName);
                if (ws != null)
                {
                    FormSelectDatasets frmSelectDS = new FormSelectDatasets(ws);
                    if (frmSelectDS.ShowDialog() == DialogResult.OK)
                    {
                        List <ILayer> layers = frmSelectDS.SelectedLayers;
                        foreach (ILayer layer in layers)
                        {
                            AddLayerToMap(mapCtrl.Map, layer);
                        }

                        mapCtrl.ActiveView.Extent = frmSelectDS.SelectedExtent;
                        mapCtrl.ActiveView.Refresh();
                    }

                    /*
                     * IEnumDataset datasets = ws.Datasets[esriDatasetType.esriDTAny];
                     * datasets.Reset();
                     * IDataset dataset = datasets.Next();
                     *
                     * while (dataset != null)
                     * {
                     *  if (dataset is IFeatureDataset)
                     *  {
                     *      IGroupLayer groupLayer = new GroupLayerClass();
                     *      groupLayer.Name = dataset.Name;
                     *
                     *      IEnumDataset subsets = dataset.Subsets;
                     *      if (subsets != null)
                     *      {
                     *          subsets.Reset();
                     *          IDataset subset = subsets.Next();
                     *          while (subset != null)
                     *          {
                     *              if (subset is IFeatureClass)
                     *              {
                     *                  IFeatureLayer featLayer = new FeatureLayerClass();
                     *                  featLayer.Name = subset.Name;
                     *                  featLayer.FeatureClass = subset as IFeatureClass;
                     *
                     *                  groupLayer.Add(featLayer);
                     *              }
                     *              subset = subsets.Next();
                     *          }
                     *      }
                     *      AddLayerToMap(mapCtrl.Map, groupLayer);
                     *  }
                     *  else if (dataset is IFeatureClass)
                     *  {
                     *      IFeatureLayer featLayer = new FeatureLayerClass();
                     *      featLayer.Name = dataset.Name;
                     *      featLayer.FeatureClass = dataset as IFeatureClass;
                     *
                     *      AddLayerToMap(mapCtrl.Map, featLayer);
                     *  }
                     *  dataset = datasets.Next();
                     * }
                     */
                }
            }
        }