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); } } } }
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(); }