using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WWPipeLine.MapBasic.Conditions; using WeifenLuo.WinFormsUI.Docking; using SuperMap.UI; using SuperMap.Mapping; using SuperMap.Data; using WWPipeLine.MapBasic; using Sunny.UI; namespace WWPipeLine.MapTools.Conditions.EditGuanWang { public partial class GuanXianXiuGai : ConditionPanel { private Recordset rd = null; public GuanXianXiuGai() { this.ConditionPanelName = "管线属性修改"; InitializeComponent(); this.SetSize(560, 485); this.IsShowResultWindow = false; } protected override void OnLoad(EventArgs e) { ComsStatic.SetLayersIsSelectableFalse(ComsStatic.dvJSLK.Name, true); MapControl.Action = SuperMap.UI.Action.Select; MapControl.GeometrySelected += MapControl_GeometrySelected; } private void MapControl_GeometrySelected(object sender, GeometrySelectedEventArgs e) { Selection[] _selection = MapControl.Map.FindSelection(true); if (_selection.Length != 1 || _selection[0].Count != 1) { Sunny.UI.UIMessageTip.ShowError("仅可以选择一根管线进行操作"); return; } rd = _selection[0].ToRecordset(); if (rd.Dataset.Name != ComsStatic.dvJSLK.Name || rd.RecordCount != 1) { Sunny.UI.UIMessageTip.ShowError("仅可以选择供水管线图层!"); return; } rd.MoveFirst(); uitb_bsm.Text = rd.GetFieldValue("bsm").ToString(); uitb_fldm.Text = rd.GetFieldValue("fldm")?.ToString(); uitb_cz.Text = rd.GetFieldValue("cz")?.ToString(); uitb_gj.Text = rd.GetFieldValue("gj").ToString(); uitb_dzms.Text = rd.GetFieldValue("dzms")?.ToString(); uitb_tz.Text = rd.GetFieldValue("tz")?.ToString(); uitb_msfs.Text = rd.GetFieldValue("msfs")?.ToString(); uidp_msrq.Text = rd.GetFieldValue("msrq")?.ToString(); uitb_yl.Text = rd.GetFieldValue("yl")?.ToString(); uitbGdbh.Text = rd.GetFieldValue("gdbh")?.ToString(); uitb_cd.Text = rd.GetFieldValue("cd").ToString(); uitb_bz.Text = rd.GetFieldValue("bz")?.ToString(); uitb_qsdw.Text = rd.GetFieldValue("qsdw")?.ToString(); uitb_tcdw.Text = rd.GetFieldValue("tcdw")?.ToString(); } public override object Do(DockPanel dockPanel = null) { if (rd is null || rd.RecordCount != 1) { Sunny.UI.UIMessageTip.ShowError("仅可以选择一根管线进行操作"); return false; } rd.Edit(); rd.SetFieldValue("gj", ComsStatic.StringToInt16(uitb_gj.Text)); rd.SetFieldValue("cz", uitb_cz.Text); rd.SetFieldValue("dzms", uitb_dzms.Text); rd.SetFieldValue("tz", uitb_tz.Text); rd.SetFieldValue("msfs", uitb_msfs.Text); if (!string.IsNullOrEmpty(uidp_msrq.Text)) rd.SetFieldValue("msrq", Convert.ToDateTime(uidp_msrq.Text)); rd.SetFieldValue("yl", ComsStatic.StringToDouble(uitb_yl.Text)); rd.SetFieldValue("gdbh", uitbGdbh.Text); rd.SetFieldValue("bz", uitb_bz.Text); rd.SetFieldValue("qsdw", uitb_qsdw.Text); rd.SetFieldValue("tcdw", uitb_tcdw.Text); if (rd.Update()) { ComsStatic.ShowOKLog("管线属性修改", string.Format("编辑的管线SMID是{0}。", rd.GetID())); uitb_bsm.Text = ""; uitb_fldm.Text = ""; uitb_cz.Text = ""; uitb_gj.Text = ""; uitb_dzms.Text = ""; uitb_tz.Text = ""; uitb_msfs.Text = ""; uidp_msrq.Text = ""; uitb_yl.Text = ""; uitb_cd.Text = ""; uitb_bz.Text = ""; uitb_qsdw.Text = ""; uitb_tcdw.Text = ""; uitbGdbh.Text = ""; } else { ComsStatic.ShowErrorLog("管线属性修改", string.Format("编辑的管线SMID是{0}。", rd.GetID())); } return null; } public override void AfterClose() { MapControl.GeometrySelected -= MapControl_GeometrySelected; ComsStatic.RecordsetDispose(rd); base.AfterClose(); } private void uitb_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 46) && (e.KeyChar != 8)) e.Handled = true; } } }