using DevExpress.XtraEditors; using System; namespace IStation.WinFrmUI.Basic { public partial class EditEquipmentDlg : DevExpress.XtraEditors.XtraForm { public EditEquipmentDlg() { InitializeComponent(); this.IconOptions.Icon = WinFrmUI.Properties.Resources.App; this.dataLayoutControl1.SetupLayoutControl(); } /// /// 回调事件 /// public event Func ReloadDataEvent; /// /// 验证识别码是否存在事件 /// public event Func VerifyTagNameExistEvent; private Model.Equipment _model = null; /// /// 绑定 /// public void SetBindingData(Model.Equipment model) { if (model == null) return; _model = new Model.Equipment(model); this.NameTextEdit.EditValue = _model.Name; this.SupplierTextEdit.EditValue = _model.Supplier; this.NOTextEdit.EditValue = _model.NO; this.ModelTypeTextEdit.EditValue = _model.ModelType; this.SpecificationTextEdit.EditValue = _model.Specification; this.UnitNameTextEdit.EditValue = _model.UnitName; this.QuantityTextEdit.EditValue = _model.Quantity; this.TagNameTextEdit.EditValue = _model.TagName; this.DescriptionTextEdit.EditValue = _model.Description; this.ratedParasCtrl1.Set(_model.Catalog, _model.RatedParas); this.selectFlagsPopupCtrl1.SetBindingData(_model.Flags); } //验证 private bool Valid() { this.dxErrorProvider1.ClearErrors(); if (string.IsNullOrEmpty(this.NameTextEdit.Text.Trim())) { this.dxErrorProvider1.SetError(this.NameTextEdit, "必填项"); return false; } if (!this.ratedParasCtrl1.Valid()) { this.tabbedControlGroup1.SelectedTabPage = this.layoutControlGroupSpecialProperty; return false; } var tagName = this.TagNameTextEdit.Text.Trim(); if (!string.IsNullOrEmpty(tagName)) { if (VerifyTagNameExistEvent != null) { if (VerifyTagNameExistEvent(tagName, _model.ID)) { this.dxErrorProvider1.SetError(this.TagNameTextEdit, "重复"); return false; } } } return true; } //确定 private void btnOk_Click(object sender, EventArgs e) { if (_model == null) return; if (!Valid()) return; _model.Name = this.NameTextEdit.Text.Trim(); _model.NO = this.NOTextEdit.Text.Trim(); _model.Supplier = this.SupplierTextEdit.Text.Trim(); _model.ModelType = this.ModelTypeTextEdit.Text.Trim(); _model.Specification = this.SpecificationTextEdit.Text.Trim(); _model.UnitName = this.UnitNameTextEdit.Text.Trim(); if (int.TryParse(this.QuantityTextEdit.Text, out int quantity)) { _model.Quantity = quantity; } _model.TagName = this.TagNameTextEdit.Text.Trim(); _model.Flags = this.selectFlagsPopupCtrl1.SelectedFlags; _model.Description = this.DescriptionTextEdit.Text.Trim(); _model.RatedParas = this.ratedParasCtrl1.Get(); if (this.ReloadDataEvent == null) return; if (!this.ReloadDataEvent(_model)) { XtraMessageBox.Show("更新失败!"); return; } XtraMessageBox.Show("更新成功!"); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } } }