FuTu.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using SuperMap.Data;
  2. using System;
  3. using System.Collections.Generic;
  4. using WeifenLuo.WinFormsUI.Docking;
  5. using WWPipeLine.MapBasic.Conditions;
  6. using System.Drawing;
  7. using System.Data;
  8. using System.Windows.Forms;
  9. using WWPipeLine.MapBasic;
  10. namespace WWPipeLine.MapTools.Conditions.AnalystToolBar
  11. {
  12. public class FuTu : BasicToolBar
  13. {
  14. public FuTu() : base()
  15. {
  16. this.ConditionPanelName = "覆土分析";
  17. var analystToolStripButton = new ToolStripButton()
  18. {
  19. DisplayStyle = ToolStripItemDisplayStyle.ImageAndText,
  20. Text = "开始分析",
  21. Name = "Analyst",
  22. AutoToolTip = false
  23. };
  24. base.ToolStrip.Items.Add(analystToolStripButton);
  25. analystToolStripButton.Click += AnalystToolStripButton_Click;
  26. }
  27. private void AnalystToolStripButton_Click(object sender, EventArgs e)
  28. {
  29. int index = MapControl.Map.TrackingLayer.IndexOf(ComsStatic.ControlToolsTrackingName);
  30. if (index == -1)
  31. {
  32. Sunny.UI.UIMessageTip.ShowError("请先绘制区域"); return;
  33. }
  34. GeoRegion geo = MapControl.Map.TrackingLayer.Get(index) as GeoRegion;
  35. Recordset recordset = ComsStatic.gsGuanXian.Query(geo, 0, " enabled=1 ", CursorType.Static);
  36. if (recordset.IsEmpty) { Sunny.UI.UIMessageTip.ShowError("当前区域内没有查询到数据"); return; }
  37. DataTable dt = ComsStatic.RecordsetToDataTable(recordset);
  38. dt = ComsStatic.GetJSLKbyJSJDPT(dt);
  39. dt.Columns.Add(new DataColumn { ColumnName = "bzgdms", Caption = "标准埋深" });
  40. dt.Columns["bzgdms"].SetOrdinal(2);
  41. Dictionary<string, object> dic = ComsStatic.getGuanXianPeiZhi("覆土配置");
  42. string gxcz = "";
  43. foreach (DataRow dr in dt.Rows)
  44. {
  45. gxcz = dr["cz"].ToString() + "_gxms";
  46. if (dic.ContainsKey(gxcz))
  47. dr["bzgdms"] = dic[gxcz];
  48. else
  49. dr["bzgdms"] = "未配置";
  50. }
  51. dt.TableName = "覆土分析结果";
  52. DataSet ds = new DataSet();
  53. ds.Tables.Add(dt);
  54. AnalystResultTabControl from = new AnalystResultTabControl(ds, "覆土分析结果");
  55. from.ShowDialog();
  56. this.CloseToolBar();
  57. }
  58. protected override void OnLoad(EventArgs e)
  59. {
  60. MapControl.Action = SuperMap.UI.Action.CreatePolygon;
  61. MapControl.Tracked += ComsStatic.MapControl_Tracked_TrackingName;
  62. }
  63. private void InitializeComponent()
  64. {
  65. this.SuspendLayout();
  66. //
  67. // ToolsConditions
  68. //
  69. this.Name = "ToolsConditions";
  70. this.ResumeLayout(false);
  71. }
  72. }
  73. }