namespace Yw.WinFrmUI { public partial class SetHydroTankDlg : DevExpress.XtraEditors.XtraForm { public SetHydroTankDlg() { InitializeComponent(); this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; this.layoutControl1.SetupLayoutControl(); this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent; } /// /// 返回数据事件 /// public event Action> ReloadDataEvent; //所有部件列表 private List _allVisualList = null; /// /// 绑定数据 /// public void SetBindingData(Yw.Model.HydroTankInfo parter) { var allParterList = parter == null ? null : new List() { parter }; SetBindingData(allParterList); } /// /// 绑定数据 /// public void SetBindingData(List allParterList) { _allVisualList = allParterList; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); this.txtPoolElev.EditValue = visual.PoolElev; this.txtInitLevel.EditValue = visual.InitLevel; this.txtMinLevel.EditValue = visual.MinLevel; this.txtMaxLevel.EditValue = visual.MaxLevel; this.txtDN.EditValue = visual.DN; this.ckOverFlow.Checked = visual.OverFlow; } } //验证 private bool Valid() { this.dxErrorProvider1.ClearErrors(); if (this.txtPoolElev.EditValue == null) { this.dxErrorProvider1.SetError(this.txtPoolElev, "必填项"); return false; } if (this.txtInitLevel.EditValue == null) { this.dxErrorProvider1.SetError(this.txtInitLevel, "必填项"); return false; } if (this.txtMinLevel.EditValue == null) { this.dxErrorProvider1.SetError(this.txtMinLevel, "必填项"); return false; } if (this.txtMaxLevel.EditValue == null) { this.dxErrorProvider1.SetError(this.txtMaxLevel, "必填项"); return false; } if (this.txtDN.EditValue == null) { this.dxErrorProvider1.SetError(this.txtDN, "必填项"); return false; } return true; } private void GeneralOkAndCancelCtrl1_OkEvent() { if (_allVisualList == null || _allVisualList.Count < 1) { return; } if (!Valid()) { return; } var poolElev = double.Parse(this.txtPoolElev.EditValue.ToString()); var initLevel = double.Parse(this.txtInitLevel.EditValue.ToString()); var minLevel = double.Parse(this.txtMinLevel.EditValue.ToString()); var maxLevel = double.Parse(this.txtMaxLevel.EditValue.ToString()); var dn = double.Parse(this.txtDN.EditValue.ToString()); var overFlow = this.ckOverFlow.Checked; _allVisualList.ForEach(x => { x.PoolElev = poolElev; x.InitLevel = initLevel; x.MinLevel = minLevel; x.MaxLevel = maxLevel; x.DN = dn; x.OverFlow = overFlow; }); this.ReloadDataEvent?.Invoke(_allVisualList); this.DialogResult = DialogResult.OK; this.Close(); } } }