using DevExpress.XtraEditors; using System; namespace IStation.WinFrmUI.Basic { public partial class EditSignalTypeGroupDlg : DevExpress.XtraEditors.XtraForm { public EditSignalTypeGroupDlg() { InitializeComponent(); this.IconOptions.Icon = WinFrmUI.Properties.Resources.App; this.dataLayoutControl1.SetupLayoutControl(); } /// /// 回调事件 /// public event Func ReloadDataEvent; /// /// 验证识别码是否存在事件 /// public event Func VerifyTagNameExistEvent; private Model.SignalTypeGroup _model = null; /// /// 绑定 /// public void SetBindingData(Model.SignalTypeGroup model) { _model = new Model.SignalTypeGroup(model); this.NameTextEdit.EditValue = _model.Name; this.TagNameTextEdit.EditValue = _model.TagName; this.DescriptionTextEdit.EditValue = _model.Description; 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; } var tagName = this.TagNameTextEdit.Text.Trim(); if (!string.IsNullOrEmpty(tagName)) { if (_model.TagName != tagName) { if (VerifyTagNameExistEvent != null) { if (VerifyTagNameExistEvent(tagName, _model.ID)) { this.dxErrorProvider1.SetError(this.TagNameTextEdit, "重复"); return false; } } } } return true; } //确定 private void btnOk_Click(object sender, System.EventArgs e) { if (_model == null) return; if (!Valid()) return; _model.Name = this.NameTextEdit.Text.Trim(); _model.Description = this.DescriptionTextEdit.Text.Trim(); _model.TagName = this.TagNameTextEdit.Text.Trim(); _model.Flags = this.selectFlagsPopupCtrl1.SelectedFlags; if (this.ReloadDataEvent == null) return; if (!this.ReloadDataEvent(_model)) { XtraMessageBox.Show("更新失败!"); return; } XtraMessageBox.Show("更新成功!"); this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } } }