private void onGetFeatureByID(object sender, UploadStringCompletedEventArgs e) { SFeature sf = m_catalog.ActiveMapDoc.OnGetFeatureByID(e); CAttDataRow[] drArr = new CAttDataRow[1]; drArr[0] = new CAttDataRow(); drArr[0].Values = sf.AttValue; this.m_bufferControl.setTargetattRows(drArr); SFeatureGeometry[] sfGeoArr = new SFeatureGeometry[1]; sfGeoArr[0] = sf.fGeom; this.m_bufferControl.setTargetsfGeometry(sfGeoArr); this.m_bufferControl.Show(); }
private void setFeature(object sender, UploadStringCompletedEventArgs e) { CLayerSelectAndGetAtt obj = this.IMSCatalog.ActiveLayerObj.OnLayerSelectAndGetAtt(e); if (obj == null) { MessageBox.Show("未获取到要素"); this.m_graphicsLayer.DrawingType = DrawingType.Point; this.m_graphicsLayer.DrawingOverCallback = new DrawingEventHandler(Drawpoint_callback); return; } CAttDataTable curRltTable = obj.AttDS[this.IMSCatalog.ActiveLayerObj.ActiveGdbIndex].attTables[this.IMSCatalog.ActiveLayerObj.ActiveLayerIndex]; if (obj.AttDS[this.IMSCatalog.ActiveLayerObj.ActiveGdbIndex].attTables[this.IMSCatalog.ActiveLayerObj.ActiveLayerIndex] != null) { CAttDataRow[] curRltRows = obj.AttDS[this.IMSCatalog.ActiveLayerObj.ActiveGdbIndex].attTables[this.IMSCatalog.ActiveLayerObj.ActiveLayerIndex].Rows; if (curRltRows == null) { MessageBox.Show("未获取到要素"); this.m_graphicsLayer.DrawingType = DrawingType.Point; this.m_graphicsLayer.DrawingOverCallback = new DrawingEventHandler(Drawpoint_callback); return; } CAttDataRow row = curRltTable.Rows[0] as CAttDataRow; CLayerGetByID getGeo = new CLayerGetByID(); getGeo.FeatureID = row.FID; getGeo.GdbIndex = this.IMSCatalog.ActiveLayerObj.ActiveGdbIndex; getGeo.LayerIndex = this.IMSCatalog.ActiveLayerObj.ActiveLayerIndex; this.IMSCatalog.ActiveLayerObj.GetGeomByFID(getGeo, flashFeature); } else { MessageBox.Show("未获取到要素"); this.m_graphicsLayer.DrawingType = DrawingType.Point; this.m_graphicsLayer.DrawingOverCallback = new DrawingEventHandler(Drawpoint_callback); } }