GuanXianFeiQiHuiFu.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 WeifenLuo.WinFormsUI.Docking;
  11. using WWPipeLine.MapBasic.Conditions;
  12. using WWPipeLine.MapBasic;
  13. using SuperMap.Data;
  14. using Sunny.UI;
  15. namespace WWPipeLine.MapTools.Conditions.EditGuanWang
  16. {
  17. public partial class GuanXianFeiQiHuiFu : ConditionPanel
  18. {
  19. Recordset rd = null;
  20. public GuanXianFeiQiHuiFu()
  21. {
  22. this.ConditionPanelName = "废弃管线恢复";
  23. this.SetSize(800, 500);
  24. InitializeComponent();
  25. this.IsShowResultWindow = false;
  26. }
  27. protected override void OnLoad(EventArgs e)
  28. {
  29. rd = ComsStatic.gsGuanXian.Query("enabled=0", CursorType.Dynamic);
  30. ComsStatic.setUIDataGridView(uidgv, ComsStatic.RecordsetToDataTable(rd, false), null, ",fldm,");
  31. }
  32. public override object Do(DockPanel dockPanel = null)
  33. {
  34. if (uidgv.SelectedRows == null || uidgv.SelectedRows.Count != 1)
  35. {
  36. UIMessageTip.ShowError("请选择需要恢复的管线信息!"); return false;
  37. }
  38. int rdsmid = ComsStatic.StringToInt(uidgv.SelectedRows[0].Cells["SmID"].Value.ToString());
  39. if (rd.SeekID(rdsmid))
  40. {
  41. rd.Edit();
  42. rd.SetFieldValue("enabled", 1);
  43. ComsStatic.ShowUIMessageTipOKorError(rd.Update(), "废弃管线恢复", rdsmid.ToString());
  44. }
  45. return true;
  46. }
  47. private void uidgv_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
  48. {
  49. int rdsmid = ComsStatic.StringToInt(uidgv.SelectedRows[0].Cells["SmID"].Value.ToString());
  50. if (!rd.SeekID(rdsmid)) return;
  51. Geometry geo = rd.GetGeometry();
  52. MapControl.Map.Center = geo.InnerPoint;
  53. new DoTrackingPoint().Doing(geo.InnerPoint.X, geo.InnerPoint.Y);
  54. }
  55. }
  56. }