namespace ISupply.WinFrm
|
{
|
/// <summary>
|
/// 选择Flags控件
|
/// </summary>
|
public partial class SelectFlagsCtrl : DevExpress.XtraEditors.XtraUserControl
|
{
|
public SelectFlagsCtrl()
|
{
|
InitializeComponent();
|
}
|
|
//绑定数据
|
public void SetBindingData(List<string> sysFlags = null, List<string> cekFlags = null)
|
{
|
this.clbFlags.Items.Clear();
|
if (sysFlags != null)
|
{
|
this.clbFlags.Items.AddRange(sysFlags.ToArray());
|
}
|
if (cekFlags != null)
|
{
|
foreach (CheckedListBoxItem item in this.clbFlags.Items)
|
item.CheckState = (cekFlags.IndexOf(item.Value.ToString()) > -1) ? CheckState.Checked : CheckState.Unchecked;
|
|
List<string> customFlags = null;
|
if (sysFlags != null)
|
customFlags = cekFlags.FindAll(x => !sysFlags.Contains(x));
|
else
|
customFlags = cekFlags;
|
if (customFlags != null && customFlags.Count > 0)
|
this.CustomFlagsTextEdit.EditValue = FlagsHelper.ToString(customFlags);
|
}
|
}
|
|
|
/// <summary>
|
/// 验证
|
/// </summary>
|
public bool Valid()
|
{
|
//临时
|
var flags = this.CustomFlagsTextEdit.Text.Trim();
|
if (!string.IsNullOrEmpty(flags))
|
{
|
var list = FlagsHelper.ToList(flags);
|
if (list == null)
|
{
|
this.dxErrorProvider1.SetError(this.CustomFlagsTextEdit, "格式错误");
|
return false;
|
}
|
}
|
return true;
|
}
|
|
|
/// <summary>
|
/// 获取数据
|
/// </summary>
|
public List<string> GetFlags()
|
{
|
var list = new List<string>();
|
foreach (CheckedListBoxItem item in this.clbFlags.Items)
|
{
|
if (item.CheckState == CheckState.Checked)
|
list.Add(item.Value.ToString());
|
}
|
var custom = this.CustomFlagsTextEdit.Text.Trim();
|
var flags = FlagsHelper.ToList(custom);
|
if (flags != null)
|
list.AddRange(flags);
|
if (list.Count < 1)
|
return default;
|
return list;
|
}
|
|
|
}
|
}
|