using System.Data;
|
|
namespace Yw.WinFrmUI
|
{
|
public partial class HydroWorkingCheckedListHorizCtrl : DevExpress.XtraEditors.XtraUserControl
|
{
|
public HydroWorkingCheckedListHorizCtrl()
|
{
|
InitializeComponent();
|
}
|
|
/// <summary>
|
/// 选择改变事件
|
/// </summary>
|
public event Action<List<HydroWorkingVmo>> CheckedChangedEvent;
|
|
private BindingList<HydroWorkingCheckedListItemViewModel> _allBindingList = null;//所有绑定列表
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<HydroWorkingVmo> allWorkingList)
|
{
|
List<HydroWorkingCheckedListItemViewModel> allList = null;
|
if (allWorkingList != null && allWorkingList.Count > 0)
|
{
|
allList = new List<HydroWorkingCheckedListItemViewModel>();
|
allWorkingList.ForEach(x =>
|
{
|
var vm = new HydroWorkingCheckedListItemViewModel(x);
|
allList.Add(vm);
|
});
|
}
|
SetBindingData(allList);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<HydroWorkingCheckedListItemViewModel> allList)
|
{
|
_allBindingList = new BindingList<HydroWorkingCheckedListItemViewModel>();
|
allList?.ForEach(x => _allBindingList.Add(x));
|
this.hydroWorkingCheckedListItemViewModelBindingSource.DataSource = _allBindingList;
|
this.hydroWorkingCheckedListItemViewModelBindingSource.ResetBindings(false);
|
}
|
|
/// <summary>
|
/// 获取选择工况列表
|
/// </summary>
|
/// <returns></returns>
|
public List<HydroWorkingVmo> 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);
|
}
|
|
|
}
|
}
|