GuanXianXiuGai.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using WWPipeLine.MapBasic.Conditions;
  11. using WeifenLuo.WinFormsUI.Docking;
  12. using SuperMap.UI;
  13. using SuperMap.Mapping;
  14. using SuperMap.Data;
  15. using WWPipeLine.MapBasic;
  16. using Sunny.UI;
  17. namespace WWPipeLine.MapTools.Conditions.EditGuanWang
  18. {
  19. public partial class GuanXianXiuGai : ConditionPanel
  20. {
  21. private Recordset rd = null;
  22. public GuanXianXiuGai()
  23. {
  24. this.ConditionPanelName = "管线属性修改";
  25. InitializeComponent();
  26. this.SetSize(560, 485);
  27. this.IsShowResultWindow = false;
  28. }
  29. protected override void OnLoad(EventArgs e)
  30. {
  31. ComsStatic.SetLayersIsSelectableFalse(ComsStatic.dvJSLK.Name, true);
  32. MapControl.Action = SuperMap.UI.Action.Select;
  33. MapControl.GeometrySelected += MapControl_GeometrySelected;
  34. }
  35. private void MapControl_GeometrySelected(object sender, GeometrySelectedEventArgs e)
  36. {
  37. Selection[] _selection = MapControl.Map.FindSelection(true);
  38. if (_selection.Length != 1 || _selection[0].Count != 1)
  39. {
  40. Sunny.UI.UIMessageTip.ShowError("仅可以选择一根管线进行操作"); return;
  41. }
  42. rd = _selection[0].ToRecordset();
  43. if (rd.Dataset.Name != ComsStatic.dvJSLK.Name || rd.RecordCount != 1)
  44. {
  45. Sunny.UI.UIMessageTip.ShowError("仅可以选择供水管线图层!"); return;
  46. }
  47. rd.MoveFirst();
  48. uitb_bsm.Text = rd.GetFieldValue("bsm").ToString();
  49. uitb_fldm.Text = rd.GetFieldValue("fldm")?.ToString();
  50. uitb_cz.Text = rd.GetFieldValue("cz")?.ToString();
  51. uitb_gj.Text = rd.GetFieldValue("gj").ToString();
  52. uitb_dzms.Text = rd.GetFieldValue("dzms")?.ToString();
  53. uitb_tz.Text = rd.GetFieldValue("tz")?.ToString();
  54. uitb_msfs.Text = rd.GetFieldValue("msfs")?.ToString();
  55. uidp_msrq.Text = rd.GetFieldValue("msrq")?.ToString();
  56. uitb_yl.Text = rd.GetFieldValue("yl")?.ToString();
  57. uitbGdbh.Text = rd.GetFieldValue("gdbh")?.ToString();
  58. uitb_cd.Text = rd.GetFieldValue("cd").ToString();
  59. uitb_bz.Text = rd.GetFieldValue("bz")?.ToString();
  60. uitb_qsdw.Text = rd.GetFieldValue("qsdw")?.ToString();
  61. uitb_tcdw.Text = rd.GetFieldValue("tcdw")?.ToString();
  62. }
  63. public override object Do(DockPanel dockPanel = null)
  64. {
  65. if (rd is null || rd.RecordCount != 1)
  66. {
  67. Sunny.UI.UIMessageTip.ShowError("仅可以选择一根管线进行操作"); return false;
  68. }
  69. rd.Edit();
  70. rd.SetFieldValue("gj", ComsStatic.StringToInt16(uitb_gj.Text));
  71. rd.SetFieldValue("cz", uitb_cz.Text);
  72. rd.SetFieldValue("dzms", uitb_dzms.Text);
  73. rd.SetFieldValue("tz", uitb_tz.Text);
  74. rd.SetFieldValue("msfs", uitb_msfs.Text);
  75. if (!string.IsNullOrEmpty(uidp_msrq.Text))
  76. rd.SetFieldValue("msrq", Convert.ToDateTime(uidp_msrq.Text));
  77. rd.SetFieldValue("yl", ComsStatic.StringToDouble(uitb_yl.Text));
  78. rd.SetFieldValue("gdbh", uitbGdbh.Text);
  79. rd.SetFieldValue("bz", uitb_bz.Text);
  80. rd.SetFieldValue("qsdw", uitb_qsdw.Text);
  81. rd.SetFieldValue("tcdw", uitb_tcdw.Text);
  82. if (rd.Update())
  83. {
  84. ComsStatic.ShowOKLog("管线属性修改", string.Format("编辑的管线SMID是{0}。", rd.GetID()));
  85. uitb_bsm.Text = ""; uitb_fldm.Text = ""; uitb_cz.Text = ""; uitb_gj.Text = "";
  86. uitb_dzms.Text = ""; uitb_tz.Text = ""; uitb_msfs.Text = "";
  87. uidp_msrq.Text = ""; uitb_yl.Text = ""; uitb_cd.Text = ""; uitb_bz.Text = "";
  88. uitb_qsdw.Text = ""; uitb_tcdw.Text = ""; uitbGdbh.Text = "";
  89. }
  90. else
  91. {
  92. ComsStatic.ShowErrorLog("管线属性修改", string.Format("编辑的管线SMID是{0}。", rd.GetID()));
  93. }
  94. return null;
  95. }
  96. public override void AfterClose()
  97. {
  98. MapControl.GeometrySelected -= MapControl_GeometrySelected;
  99. ComsStatic.RecordsetDispose(rd);
  100. base.AfterClose();
  101. }
  102. private void uitb_KeyPress(object sender, KeyPressEventArgs e)
  103. {
  104. if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 46) && (e.KeyChar != 8))
  105. e.Handled = true;
  106. }
  107. }
  108. }