using DevExpress.XtraEditors;
|
using IStation.Untity;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
|
namespace IStation.WinFrmUI
|
{
|
/// <summary>
|
/// 选择标签列表面板
|
/// </summary>
|
public partial class SelectFlagsPopupCtrl1 : DevExpress.XtraEditors.XtraUserControl
|
{
|
public SelectFlagsPopupCtrl1()
|
{
|
InitializeComponent();
|
}
|
|
/// <summary>
|
/// 返回值事件
|
/// </summary>
|
public event Action<List<string>> CheckedChangedEvent;
|
|
public List<string> SelectedFlags;
|
|
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData()
|
{
|
var flags = ConstStringHelper.GetValues<LogicFlags>();
|
this.selectFlagsCtrl1.SetBindingData(flags);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<string> cekFlags = null)
|
{
|
var sysFlags = ConstStringHelper.GetValues<LogicFlags>();
|
this.SelectedFlags = cekFlags?.ToList();
|
if (SelectedFlags != null && SelectedFlags.Count() > 0)
|
this.popupContainerEdit1.Text = FlagsHelper.ToString(SelectedFlags);
|
this.selectFlagsCtrl1.SetBindingData(sysFlags, cekFlags);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<string> sysFlags = null, List<string> 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;
|
}
|
}
|
}
|
}
|