using Yw.Model;
namespace Yw.WinFrmUI
{
public partial class HydroCalcuWarningCtrl : DevExpress.XtraEditors.XtraUserControl
{
public HydroCalcuWarningCtrl()
{
InitializeComponent();
this.gridView1.SetNormalView(30);
this.gridView1.RegistCustomDrawRowIndicator(40);
}
///
/// 水力点击事件
///
public event Action HydroClickEvent;
//所有绑定列表
private List _allBindingList = null;
///
/// 绑定数据
///
public void SetBindingData(List allWarningList, HydroModelInfo hydroInfo)
{
var allVisualList = hydroInfo?.GetAllVisuals();
SetBindingData(allWarningList, allVisualList);
}
///
/// 绑定数据
///
public void SetBindingData(List allWarningList, List allVisualList)
{
Dictionary dict = null;
if (allVisualList != null && allVisualList.Count > 0)
{
dict = new Dictionary();
allVisualList.ForEach(x => dict.Add(x.Code, x));
}
SetBindingData(allWarningList, dict);
}
///
/// 绑定数据
///
public void SetBindingData(List allWarningList, Dictionary dict)
{
_allBindingList = new List();
if (allWarningList != null && allWarningList.Count > 0)
{
if (dict != null && dict.Count > 0)
{
allWarningList.ForEach(x =>
{
if (dict.ContainsKey(x.Code))
{
var vm = new HydroCalcuWarningViewModel(x, dict[x.Code]);
_allBindingList.Add(vm);
}
});
}
}
this.hydroCalcuWarningViewModelBindingSource.DataSource = _allBindingList;
this.hydroCalcuWarningViewModelBindingSource.ResetBindings(false);
}
//行点击
private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
{
var row = this.gridView1.GetRow(e.RowHandle) as HydroCalcuWarningViewModel;
if (row == null)
{
return;
}
this.HydroClickEvent?.Invoke(row.Code);
}
}
}