| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using SuperMap.Data;
- using SuperMap.Mapping;
- using System;
- using System.Data;
- using System.Drawing;
- using System.Windows.Forms;
- using WWPipeLine.MapBasic;
- using WWPipeLine.MapBasic.Conditions;
- namespace WWPipeLine.MapTools.Conditions.AnalystToolBar
- {
- public class KuoJian : BasicToolBar
- {
- public KuoJian() : base()
- {
- this.ConditionPanelName = "道路扩建分析";
- var analystToolStripButton = new ToolStripButton()
- {
- DisplayStyle = ToolStripItemDisplayStyle.ImageAndText,
- Text = "扩建分析",
- Name = "Analyst",
- AutoToolTip = false
- };
- base.ToolStrip.Items.Add(analystToolStripButton);
- analystToolStripButton.Click += AnalystToolStripButton_Click;
- }
- private void AnalystToolStripButton_Click(object sender, EventArgs e)
- {
- int index = MapControl.Map.TrackingLayer.IndexOf(ComsStatic.ControlToolsTrackingName);
- if (index == -1)
- {
- Sunny.UI.UIMessageTip.ShowError("请先绘制区域"); return;
- }
- GeoRegion geo = MapControl.Map.TrackingLayer.Get(index) as GeoRegion;
- DataSet dtsLayer = new DataSet();
- DatasetVector dv;
- Recordset ds;
- DataTable dt;
- foreach (Layer lyr in ComsStatic.MapLayersUsed)
- {
- dv = lyr.Dataset as DatasetVector;
- if (dv is null) continue;
- ds = dv.Query(geo, 0, CursorType.Static);
- if (ds is null) continue;
- dt = ComsStatic.RecordsetToDataTable(ds);
- if (dt.Rows.Count == 0) continue;
- dt.TableName = string.Format("{0} 影响{1}个", lyr.Caption, dt.Rows.Count);
- dtsLayer.Tables.Add(dt);
- }
- AnalystResultTabControl from = new AnalystResultTabControl(dtsLayer, "扩建分析结果");
- from.ShowDialog();
- this.CloseToolBar();
- }
- protected override void OnLoad(EventArgs e)
- {
- MapControl.Action = SuperMap.UI.Action.CreatePolygon;
- MapControl.Tracked += ComsStatic.MapControl_Tracked_TrackingName;
- }
- private void InitializeComponent()
- {
- this.SuspendLayout();
- //
- // KuoJian
- //
- this.Name = "KuoJian";
- this.ResumeLayout(false);
- this.PerformLayout();
- }
- }
- }
|