private void btnCompare_Click(object sender, EventArgs e) { barHistoryDataCompare.Items.Clear(); barHistoryDataCompare.Hide(); dotNetBarManager.RightDockSite.Controls.Add(barHistoryDataCompare); dotNetBarManager.RightDockSite.DocumentDockContainer = new DevComponents.DotNetBar.DocumentDockContainer(new DevComponents.DotNetBar.DocumentBaseContainer[] { ((DevComponents.DotNetBar.DocumentBaseContainer)(new DevComponents.DotNetBar.DocumentBarContainer(barHistoryDataCompare, 664, 126))) }, DevComponents.DotNetBar.eOrientation.Vertical); barHistoryDataCompare.Size = new System.Drawing.Size(362, 228); DevComponents.DotNetBar.DockContainerItem dockItemHistoryData = new DevComponents.DotNetBar.DockContainerItem("dockItemHistoryData0", "历史数据对比浏览"); DevComponents.DotNetBar.PanelDockContainer PanelTipHistoryData = new DevComponents.DotNetBar.PanelDockContainer(); frmArcgisMapControl newFrmArcgisMapControl = new frmArcgisMapControl(); newFrmArcgisMapControl.ArcGisMapControl.Dock = DockStyle.Fill; PanelTipHistoryData.Controls.Add(newFrmArcgisMapControl.ArcGisMapControl); dockItemHistoryData.Control = PanelTipHistoryData; barHistoryDataCompare.Items.Add(dockItemHistoryData); barHistoryDataCompare.Show(); barHistoryDataCompare.AutoHide = true; barHistoryDataCompare.Width = 600; ArrayList arrayListFromDate = sliderItem.Tag as ArrayList; if (arrayListFromDate == null) { return; } frmSelHistoryDataVersion newFrm = new frmSelHistoryDataVersion(arrayListFromDate, this.axMapControl, barHistoryDataCompare, true); newFrm.ShowDialog(this); }
public override void OnClick() { /*针对历史库卸载修改,之前没有针对历史库卸载 xisheng 20110907 */ DevComponents.AdvTree.Node ProjectNode = m_Hook.ProjectTree.SelectedNode; while (ProjectNode.Parent != null) { ProjectNode = ProjectNode.Parent; } DevComponents.AdvTree.Node DBNode = m_Hook.ProjectTree.SelectedNode; while (DBNode.Parent != null && DBNode.DataKeyString != "DB") { DBNode = DBNode.Parent; } if (DBNode.Text == "现势库" || DBNode.Text == "临时库") { //cyf 20110625 modify //ILayer player = null; //player= ModDBOperator.GetGroupLayer(m_Hook.MapControl, m_Hook.ProjectTree.SelectedNode.Text + "_" + ProjectNode.Text); //end if (v_Layer != null) { m_Hook.MapControl.Map.DeleteLayer(v_Layer); m_Hook.TOCControl.Update(); } } else { UserControlDBATool userControlDBATool = ModData.v_AppGIS.MainUserControl as UserControlDBATool; if (userControlDBATool == null) { return; } if (ControlsDBHistoryManage.m_controlHistoryBar != null) //cyf 20110713 modify { userControlDBATool.ToolControl.Controls.Remove(ControlsDBHistoryManage.m_controlHistoryBar.BarHistoryManage); } ControlsDBHistoryManage.m_controlHistoryBar = null; // m_Hook.MapControl.ClearLayers(); //ClearHisLayer(); m_Hook.MapControl.ClearLayers(); m_Hook.TOCControl.Update(); userControlDBATool._frmBarManager.BarHistoryDataCompare.Items.Clear(); DevComponents.DotNetBar.DockContainerItem dockItemHistoryData = new DevComponents.DotNetBar.DockContainerItem("dockItemHistoryData0", "历史数据对比浏览"); DevComponents.DotNetBar.PanelDockContainer PanelTipHistoryData = new DevComponents.DotNetBar.PanelDockContainer(); frmArcgisMapControl newFrmArcgisMapControl = new frmArcgisMapControl(); newFrmArcgisMapControl.ArcGisMapControl.Dock = DockStyle.Fill; PanelTipHistoryData.Controls.Add(newFrmArcgisMapControl.ArcGisMapControl); dockItemHistoryData.Control = PanelTipHistoryData; userControlDBATool._frmBarManager.BarHistoryDataCompare.Items.Add(dockItemHistoryData); userControlDBATool._frmBarManager.MainDotNetBarManager.RightDockSite.Controls.Remove(userControlDBATool._frmBarManager.BarHistoryDataCompare); userControlDBATool._frmBarManager.BarHistoryDataCompare.Visible = false; ControlsDBHistoryManage.m_bChecked = false; } /*end*************************************************************************/ }
//end added by chulili public override void OnClick() { if (ModData.SysLog != null) { ModData.SysLog.Write("历史数据管理", null, DateTime.Now); } else { ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog(); ModData.SysLog.Write("历史数据管理", null, DateTime.Now); } try { UserControlDBATool userControlDBATool = ModData.v_AppGIS.MainUserControl as UserControlDBATool; if (userControlDBATool == null) { return; } if (!m_bChecked) { //cyf 20110705 modify m_controlHistoryBar = new ControlHistoryBar(m_Hook.ArcGisMapControl, m_Hook.TOCControl, m_Hook.ProjectTree, userControlDBATool._frmBarManager.BarHistoryDataCompare, userControlDBATool._frmBarManager.MainDotNetBarManager); //end userControlDBATool.ToolControl.Controls.Add(m_controlHistoryBar.BarHistoryManage); userControlDBATool.ToolControl.Controls.SetChildIndex(m_controlHistoryBar.BarHistoryManage, 0); userControlDBATool.ToolControl.Controls.Remove(m_controlHistoryBar.BarHistoryManage); userControlDBATool.ToolControl.Controls.Remove(ModData.v_AppGIS.ArcGisMapControl); userControlDBATool.ToolControl.Controls.Remove(userControlDBATool.MapToolBar); userControlDBATool.ToolControl.Controls.Add(ModData.v_AppGIS.ArcGisMapControl); userControlDBATool.ToolControl.Controls.Add(userControlDBATool.MapToolBar); userControlDBATool.ToolControl.Controls.Add(m_controlHistoryBar.BarHistoryManage); userControlDBATool._frmBarManager.MainDotNetBarManager.RightDockSite.Controls.Add(userControlDBATool._frmBarManager.BarHistoryDataCompare); userControlDBATool._frmBarManager.MainDotNetBarManager.RightDockSite.DocumentDockContainer = new DevComponents.DotNetBar.DocumentDockContainer(new DevComponents.DotNetBar.DocumentBaseContainer[] { ((DevComponents.DotNetBar.DocumentBaseContainer)(new DevComponents.DotNetBar.DocumentBarContainer(userControlDBATool._frmBarManager.BarHistoryDataCompare, 664, 126))) }, DevComponents.DotNetBar.eOrientation.Vertical); userControlDBATool._frmBarManager.BarHistoryDataCompare.Size = new System.Drawing.Size(362, 228); userControlDBATool._frmBarManager.BarHistoryDataCompare.Visible = false; m_bChecked = !m_bChecked; } else { if (!IsHistory) { if (m_controlHistoryBar != null) //cyf 20110713 modify { userControlDBATool.ToolControl.Controls.Remove(m_controlHistoryBar.BarHistoryManage); } m_controlHistoryBar = null; // m_Hook.MapControl.ClearLayers(); ClearHisLayer(); m_Hook.TOCControl.Update(); userControlDBATool._frmBarManager.BarHistoryDataCompare.Items.Clear(); DevComponents.DotNetBar.DockContainerItem dockItemHistoryData = new DevComponents.DotNetBar.DockContainerItem("dockItemHistoryData0", "历史数据对比浏览"); DevComponents.DotNetBar.PanelDockContainer PanelTipHistoryData = new DevComponents.DotNetBar.PanelDockContainer(); frmArcgisMapControl newFrmArcgisMapControl = new frmArcgisMapControl(); newFrmArcgisMapControl.ArcGisMapControl.Dock = DockStyle.Fill; PanelTipHistoryData.Controls.Add(newFrmArcgisMapControl.ArcGisMapControl); dockItemHistoryData.Control = PanelTipHistoryData; userControlDBATool._frmBarManager.BarHistoryDataCompare.Items.Add(dockItemHistoryData); userControlDBATool._frmBarManager.MainDotNetBarManager.RightDockSite.Controls.Remove(userControlDBATool._frmBarManager.BarHistoryDataCompare); userControlDBATool._frmBarManager.BarHistoryDataCompare.Visible = false; m_bChecked = !m_bChecked; } //end } } catch (Exception err) { //******************************************************************* //guozheng added if (ModData.SysLog != null) { ModData.SysLog.Write(err, null, DateTime.Now); } else { ModData.SysLog = new SysCommon.Log.clsWriteSystemFunctionLog(); ModData.SysLog.Write(err, null, DateTime.Now); } //******************************************************************** SysCommon.Error.ErrorHandle.ShowFrmErrorHandle("错误", "原因:" + err.Message); } }
private void BarHistory_DockTabChange(object sender, DockTabChangeEventArgs e) { DockContainerItem dockItemHistoryData = e.NewTab as DockContainerItem; if (dockItemHistoryData.Control.Controls.Count != 0) { return; } if (LayerList.Count == 0) { return; } frmArcgisMapControl newFrm = new frmArcgisMapControl(); for (int j = LayerList.Count - 1; j >= 0; j--) { IFeatureLayer layTemp = LayerList[j] as IFeatureLayer; IFeatureLayer pFeatureLayer = new FeatureLayerClass(); if (layTemp.FeatureClass.FeatureType == esriFeatureType.esriFTAnnotation) { pFeatureLayer = new FDOGraphicsLayerClass(); } else { (pFeatureLayer as IGeoFeatureLayer).Renderer = (layTemp as IGeoFeatureLayer).Renderer; } pFeatureLayer.FeatureClass = layTemp.FeatureClass; pFeatureLayer.Name = (layTemp.FeatureClass as IDataset).Name; IFeatureLayerDefinition featLayDefRes = null; if (m_Sel) { int fdIndex = layTemp.FeatureClass.Fields.FindField("SourceOID"); if (fdIndex == -1) { continue; } IFeatureLayerDefinition featLayDefTemp = layTemp as IFeatureLayerDefinition; IEnumIDs pEnumIDs = featLayDefTemp.DefinitionSelectionSet.IDs; int ID = pEnumIDs.Next(); StringBuilder sb = new StringBuilder(); while (ID != -1) { IFeature pFeat = layTemp.FeatureClass.GetFeature(ID); if (sb.Length != 0) { sb.Append(","); } sb.Append(pFeat.get_Value(fdIndex).ToString()); ID = pEnumIDs.Next(); } IQueryFilter queryFilter = new QueryFilterClass(); queryFilter.WhereClause = "SourceOID in (" + sb.ToString() + ")"; IFeatureSelection featSel = pFeatureLayer as IFeatureSelection; featSel.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultNew, false); featSel.SelectionChanged(); IFeatureLayerDefinition featLayDef = pFeatureLayer as IFeatureLayerDefinition; IFeatureLayer selFeatLay = featLayDef.CreateSelectionLayer(pFeatureLayer.Name, true, "", ""); IGeoFeatureLayer pGeoFeatureLayer = layTemp as IGeoFeatureLayer; if (pGeoFeatureLayer != null) { (selFeatLay as IGeoFeatureLayer).Renderer = pGeoFeatureLayer.Renderer; } newFrm.ArcGisMapControl.Map.AddLayer(selFeatLay); featLayDefRes = selFeatLay as IFeatureLayerDefinition; } else { newFrm.ArcGisMapControl.Map.AddLayer(pFeatureLayer); featLayDefRes = pFeatureLayer as IFeatureLayerDefinition; } featLayDefRes.DefinitionExpression = "FromDate<='" + dockItemHistoryData.Text + "' and ToDate>'" + dockItemHistoryData.Text + "'"; } newFrm.ArcGisMapControl.ActiveView.Extent = ArcGisMapControl.ActiveView.Extent; newFrm.ArcGisMapControl.Refresh(); newFrm.ArcGisMapControl.Dock = DockStyle.Fill; dockItemHistoryData.Control.Controls.Add(newFrm.ArcGisMapControl); LstArcGisMapControl.Add(newFrm.ArcGisMapControl); }