using Yw.Untity; namespace HStation.WinFrmUI { /// /// 选择标签列表面板 /// public partial class SelectFlagsPopupCtrl : DevExpress.XtraEditors.XtraUserControl { public SelectFlagsPopupCtrl() { InitializeComponent(); } /// /// 返回值事件 /// public event Action> CheckedChangedEvent; public List SelectedFlags; /// /// 绑定数据 /// public void SetBindingData() { var flags = ConstStringHelper.GetValues(); this.selectFlagsCtrl1.SetBindingData(flags); } /// /// 绑定数据 /// public void SetBindingData(List cekFlags = null) { var sysFlags = ConstStringHelper.GetValues(); this.SelectedFlags = cekFlags?.ToList(); if (SelectedFlags != null && SelectedFlags.Count() > 0) this.popupContainerEdit1.Text = FlagsHelper.ToString(SelectedFlags); this.selectFlagsCtrl1.SetBindingData(sysFlags, cekFlags); } /// /// 绑定数据 /// public void SetBindingData(List sysFlags = null, List cekFlags = null) { this.SelectedFlags = cekFlags?.ToList(); if (SelectedFlags != null && SelectedFlags.Count() > 0) this.popupContainerEdit1.Text = FlagsHelper.ToString(SelectedFlags); this.selectFlagsCtrl1.SetBindingData(sysFlags, cekFlags); } private void popupContainerEdit1_QueryResultValue(object sender, DevExpress.XtraEditors.Controls.QueryResultValueEventArgs e) { this.SelectedFlags = this.selectFlagsCtrl1.GetFlags(); if (this.SelectedFlags != null && SelectedFlags.Count > 0) { this.popupContainerEdit1.Text = FlagsHelper.ToString(this.SelectedFlags); } this.CheckedChangedEvent?.Invoke(this.SelectedFlags); } //自定义显示 private void popupContainerEdit1_CustomDisplayText(object sender, DevExpress.XtraEditors.Controls.CustomDisplayTextEventArgs e) { if (this.SelectedFlags != null && SelectedFlags.Count > 0) { e.DisplayText = FlagsHelper.ToString(this.SelectedFlags); } else { e.DisplayText = string.Empty; } } } }