using Yw.Model;
|
|
namespace Yw.WinFrmUI
|
{
|
public partial class HydroCalcuWarningCtrl : DevExpress.XtraEditors.XtraUserControl
|
{
|
public HydroCalcuWarningCtrl()
|
{
|
InitializeComponent();
|
this.gridView1.SetNormalView(30);
|
this.gridView1.RegistCustomDrawRowIndicator(40);
|
}
|
|
/// <summary>
|
/// 水力点击事件
|
/// </summary>
|
public event Action<string> HydroClickEvent;
|
|
//所有绑定列表
|
private List<HydroCalcuWarningViewModel> _allBindingList = null;
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<HydroCalcuWarning> allWarningList, HydroModelInfo hydroInfo)
|
{
|
var allVisualList = hydroInfo?.GetAllVisuals();
|
SetBindingData(allWarningList, allVisualList);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<HydroCalcuWarning> allWarningList, List<HydroVisualInfo> allVisualList)
|
{
|
Dictionary<string, HydroVisualInfo> dict = null;
|
if (allVisualList != null && allVisualList.Count > 0)
|
{
|
dict = new Dictionary<string, HydroVisualInfo>();
|
allVisualList.ForEach(x => dict.Add(x.Code, x));
|
}
|
SetBindingData(allWarningList, dict);
|
}
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(List<HydroCalcuWarning> allWarningList, Dictionary<string, HydroVisualInfo> dict)
|
{
|
_allBindingList = new List<HydroCalcuWarningViewModel>();
|
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);
|
}
|
|
|
}
|
}
|