Exemple #1
0
 private void listBox1_DragDrop(object sender, DragEventArgs e)
 {
     DevExpress.XtraEditors.ListBoxControl          lb    = sender as DevExpress.XtraEditors.ListBoxControl;
     DevExpress.XtraTreeList.TreeListMultiSelection nodes = GetDragNodes(e.Data);
     if (nodes != null)
     {
         int ind = lb.IndexFromPoint(lb.PointToClient(new Point(e.X, e.Y)));
         for (int i = 0; i < nodes.Count; i++)
         {
             string dragString = GetStringByNode(nodes[i]);
             if (ind == -1)
             {
                 lb.Items.Add(dragString);
             }
             else
             {
                 lb.Items.Insert(ind, dragString);
             }
         }
     }
 }
Exemple #2
0
        private void FTtreeList_Click(object sender, EventArgs e)
        {
            DevExpress.XtraTreeList.TreeListMultiSelection treelistSelect = this.FTtreeList.Selection;

            if (treelistSelect.Count == 0)
            {
                FtAttrView.Clear();
                return;
            }
            TreeListNode node = treelistSelect[0];

            if (node.ParentNode == null)
            {
                FtAttrView.Clear();
                return;
            }

            m_pMap.ClearSelection();
            //m_pActiveView.Refresh();

            string LayerName = node.ParentNode.GetDisplayText("FtName").ToString();

            ILayer pLayer = Hy.Common.Utility.Esri.MapOperAPI.GetLayerFromMapByName(m_pMap, LayerName);

            if (pLayer == null)
            {
                return;
            }
            IFeatureLayer pFtLayer = (IFeatureLayer)pLayer;
            IFeatureClass pFtCls   = pFtLayer.FeatureClass;

            IFields pFields = pFtCls.Fields;
            int     nIndex  = pFields.FindField("BSM");

            if (nIndex == -1)
            {
                return;
            }

            IQueryFilter pQueryFilter = new QueryFilterClass();
            IField       pField       = pFields.get_Field(nIndex);


            bool bTest = GetTypeByEsriField(pField.Type);

            if (bTest == false)  //整形
            {
                pQueryFilter.WhereClause = "BSM = " + node.GetDisplayText("FtName").ToString();
            }
            else
            {
                pQueryFilter.WhereClause = "BSM = '" + node.GetDisplayText("FtName").ToString() + "'";
            }

            IFeatureCursor FtCur = pFtCls.Search(pQueryFilter, true);
            IFeature       pFt   = FtCur.NextFeature();

            if (pFt != null)
            {
                InitAttrTreeList(pFtCls, pFt);
                m_pMap.SelectFeature(pLayer, pFt);
                //m_pMapControl.ActiveView.Extent = pFt.SHP.Envelope;
                //m_pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
                m_pActiveView.Refresh();

                //m_pActiveView.ScreenDisplay.UpdateWindow();
                //EngineAPI.en_FlashGeometry(m_pMapControl, pFt.SHP);
                //m_pMapControl.FlashShape(pFt.SHP, 2, 150, null);
                //Engine_API.ZoomToFeature(m_pMapControl, pFt);
                return;
            }

            //IFeatureSelection FtSel = (IFeatureSelection) pLayer;
            //FtSel.SelectFeatures(pQueryFilter, esriSelectionResultEnum.esriSelectionResultAdd, false);
            ////int nOID = Convert.ToInt32(FtTreeView.SelectedNode.Text);
            ////IFeature pFeature = pFtCls.GetFeature(nOID);
            ////InitAttrListView(pFtCls, pFeature);
            ////m_pMap.SelectFeature(pLayer, pFeature);
            //m_pActiveView.Refresh();
        }