public override void OnClick() {//XZQLocation if (_hook == null) { return; } if (_hook.MainUserControl == null) { return; } SysCommon.ModSysSetting.CopyLayerTreeXmlFromDataBase(Plugin.ModuleCommon.TmpWorkSpace, ModGetData.LayerXMLpath); IGeometry xzqGeo = ModGetData.getExtentByXZQ(m_xzqTree.SelectedNode); if (xzqGeo == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到相应的行政区范围!"); return; } ///ZQ 20111027 add 判断数据字典是否初始化 if (SysCommon.ModField._DicFieldName.Count == 0) { SysCommon.ModField.InitNameDic(Plugin.ModuleCommon.TmpWorkSpace, SysCommon.ModField._DicFieldName, "属性对照表"); } GeoDataExport.frmExport pfrmExport = new GeoDataExport.frmExport(_hook.MapControl.Map, xzqGeo); pfrmExport.WriteLog = this.WriteLog; //ygc 2012-9-11 新增是否写日志 pfrmExport.XZQCode = m_xzqTree.SelectedNode.Name; //yjl20111012 过滤行政区代码 pfrmExport.ShowDialog(); }
public override void OnClick() {//XZQLocation if (_hook == null) { return; } if (_hook.MainUserControl == null) { return; } IGeometry xzqGeo = ModGetData.getExtentByXZQ(m_xzqTree.SelectedNode); if (xzqGeo == null) { SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("提示", "未找到相应的行政区范围!"); return; } ///ZQ 20111027 add 判断数据字典是否初始化 if (SysCommon.ModField._DicFieldName.Count == 0) { SysCommon.ModField.InitNameDic(Plugin.ModuleCommon.TmpWorkSpace, SysCommon.ModField._DicFieldName, "属性对照表"); } IList <string> listMapNo = new List <string>(); IEnvelope pExtent = xzqGeo.Envelope; pExtent.Expand(1.5, 1.5, true);//跟地位效果一样 xisheng 20111104 (_AppHk.ArcGisMapControl.Map as IActiveView).Extent = pExtent; //ZQ 20110914 modify 改变显示方式 //drawPolygonElement(pGeometry as IPolygon, psGra); _AppHk.ArcGisMapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, null); //end //ZQ 20110809 modify 先刷新后闪烁问题 _AppHk.ArcGisMapControl.ActiveView.ScreenDisplay.UpdateWindow(); //end _AppHk.ArcGisMapControl.FlashShape(xzqGeo, 3, 200, null); //这里需要修改NodeKey 的值 ZQ 20110801 Add try { string strMapNoField = ""; string NodeKey = GetNodeKey("1:50000", out strMapNoField).ToString();//不同比例尺的接图表的ID号 IFeatureClass pFeatureClass = ModQuery.GetFeatureClassByNodeKey(NodeKey); if (strMapNoField == "") { return; } if (pFeatureClass == null) { return; } ISpatialFilter pSpatialFilter = new SpatialFilterClass(); pSpatialFilter.Geometry = xzqGeo; pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects; IFeatureCursor pFeaCursor = pFeatureClass.Search(pSpatialFilter, false); IFeature pFeature = pFeaCursor.NextFeature(); while (pFeature != null) { //ZQ 20110807 modify listMapNo.Add((pFeature.get_Value(pFeature.Table.FindField(strMapNoField))).ToString()); //end pFeature = pFeaCursor.NextFeature(); } pFeaCursor = null; GeoUtilities.Gis.Form.frmExportDataByMapNO pfrmExportDataByMapNO = new GeoUtilities.Gis.Form.frmExportDataByMapNO(listMapNo, true, false, false, false, _AppHk.ArcGisMapControl as IMapControlDefault, _hook.CurWksInfo.Wks); pfrmExportDataByMapNO.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } }