using Yw.Model; namespace Yw.WinFrmUI { public partial class HydroVisualListCtrl : DevExpress.XtraEditors.XtraUserControl { public HydroVisualListCtrl() { InitializeComponent(); foreach (var page in this.tabPane1.Pages) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.HydroClickInfoEvent += (visual) => { this.HydroClickInfoEvent?.Invoke(visual); }; ctrl.HydroClickViewEvent += (view) => { this.HydroClickViewEvent?.Invoke(view); }; ctrl.HydroChangedInfoEvent += (visualList) => { this.HydroChangedInfoEvent?.Invoke(visualList); }; ctrl.HydroChangedViewEvent += (viewList) => { this.HydroChangedViewEvent?.Invoke(viewList); }; } } } /// /// 水力点击信息事件 /// public event Action HydroClickInfoEvent; /// /// 水力点击视图事件 /// public event Action HydroClickViewEvent; /// /// 水力改变信息事件 /// public event Action> HydroChangedInfoEvent; /// /// 水力改变视图事件 /// public event Action> HydroChangedViewEvent; /// /// 列表为空时隐藏Page /// [Browsable(true)] [Display(Name = "列表为空时隐藏Page")] [DisplayName("列表为空时隐藏Page")] public bool HidePageWhenListIsNull { get { return _hidePageWhenListIsNull; } set { _hidePageWhenListIsNull = value; } } private bool _hidePageWhenListIsNull = true; /// /// 绑定数据 /// public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) { this.SetBindingData(hydroInfo, allCalcuResultVisualDict: null); } /// /// 绑定数据 /// public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, List allCalcuResultList) { var allCalcuResultVisualDict = allCalcuResultList?.ToDictionary(x => x.Code); SetBindingData(hydroInfo, allCalcuResultVisualDict); } /// /// 绑定数据 /// public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo, Dictionary allCalcuResultVisualDict) { if (hydroInfo == null) { return; } foreach (var page in this.tabPane1.Pages) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.SetBindingData(hydroInfo, allCalcuResultVisualDict); if (HidePageWhenListIsNull) { if (!ctrl.HasHydroList) { page.PageVisible = false; } } } } } /// /// 绑定数据 /// public void SetBindingData(List allVisualViewModelList) { if (allVisualViewModelList == null || allVisualViewModelList.Count < 1) { return; } foreach (var page in this.tabPane1.Pages) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.SetBindingData(allVisualViewModelList); if (HidePageWhenListIsNull) { if (!ctrl.HasHydroList) { page.PageVisible = false; } } } } } /// /// 更新绑定 /// public void UpdateBindingData() { foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.UpdateBindingData(); } } } } /// /// 更新属性 /// public void UpdateProperty() { foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.UpdateProperty(); } } } } /// /// 更新属性 /// public void UpdateProperty(Yw.Model.HydroVisualInfo visual) { if (visual == null) { return; } foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.UpdateProperty(visual); } } } } /// /// 更新属性 /// public void UpdateProperty(List visualList) { if (visualList == null || visualList.Count < 1) { return; } foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.UpdateProperty(visualList); } } } } /// /// 更新计算属性 /// public void UpdateCalcuProperty(List allCalcuResultList) { if (allCalcuResultList == null || allCalcuResultList.Count < 1) { return; } foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.UpdateCalcuProperty(allCalcuResultList); } } } } /// /// 更新计算属性 /// public void UpdateCalcuProperty(Dictionary allCalcuResultVisualDict) { if (allCalcuResultVisualDict == null || allCalcuResultVisualDict.Count < 1) { return; } foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.UpdateCalcuProperty(allCalcuResultVisualDict); } } } } /// /// 设置简单视图 /// public void SetSimpleView() { foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.SetSimpleView(); } } } } /// /// 设置正常视图 /// public void SetNormalView() { foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.SetNormalView(); } } } } /// /// 设置计算视图 /// public void SetCalcuView() { foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.SetCalcuView(); } } } } /// /// 设置批量视图 /// public void SetBulkView() { foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.SetBulkView(); } } } } /// /// 设置结果视图 /// public void SetResultView() { foreach (var page in this.tabPane1.Pages) { if (page.PageVisible) { if (page.Controls[0] is IHydroVisualList ctrl) { ctrl.SetResultView(); } } } } } }