using System.Data;
namespace Yw.WinFrmUI
{
public partial class HydroWorkingCheckedListVertCtrl : DevExpress.XtraEditors.XtraUserControl
{
public HydroWorkingCheckedListVertCtrl()
{
InitializeComponent();
}
///
/// 选择改变事件
///
public event Action> CheckedChangedEvent;
private BindingList _allBindingList = null;//所有绑定列表
///
/// 绑定数据
///
public void SetBindingData(List allWorkingList)
{
List allList = null;
if (allWorkingList != null && allWorkingList.Count > 0)
{
allList = new List();
allWorkingList.ForEach(x =>
{
var vm = new HydroWorkingCheckedListItemViewModel(x);
allList.Add(vm);
});
}
SetBindingData(allList);
}
///
/// 绑定数据
///
public void SetBindingData(List allList)
{
_allBindingList = new BindingList();
allList?.ForEach(x => _allBindingList.Add(x));
this.hydroWorkingCheckedListItemViewModelBindingSource.DataSource = _allBindingList;
this.hydroWorkingCheckedListItemViewModelBindingSource.ResetBindings(false);
}
///
/// 获取选择工况列表
///
///
public List GetCheckedWorkingList()
{
return _allBindingList?.Where(x => x.Checked).Select(x => x.Vmo).ToList();
}
//选择改变
private void checkedListBoxControl1_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
var list = GetCheckedWorkingList();
this.CheckedChangedEvent?.Invoke(list);
}
}
}