using DevExpress.Office.Utils; using DevExpress.Xpo.Helpers; using Yw.Model; namespace Yw.WinFrmUI { public partial class HydroJunctionListCtrl : DevExpress.XtraEditors.XtraUserControl, IViewHydroParterList { public HydroJunctionListCtrl() { InitializeComponent(); this.gridView1.SetNormalView(30); this.gridView1.RegistCustomDrawRowIndicator(40); } /// /// 水力点击事件 /// public event Action HydroClickEvent; /// /// 显示查询面板 /// [Browsable(true)] [Description("显示查询面板")] [DefaultValue(true)] public bool ShowFindPanel { get { return this.gridView1.OptionsFind.AlwaysVisible; } set { this.gridView1.OptionsFind.AlwaysVisible = value; } } /// /// 是否拥有水利列表 /// public bool HasHydroList { get { return _allBindingList != null && _allBindingList.Count > 0; } } //所有绑定列表 private List _allBindingList = null; /// /// 绑定数据 /// public void SetBindingData(HydroModelInfo hydroInfo, List allCalcuResultList) { _allBindingList = new List(); if (hydroInfo != null && hydroInfo.Junctions != null && hydroInfo.Junctions.Count > 0) { foreach (var junction in hydroInfo.Junctions) { var calcuResult = allCalcuResultList?.Find(x => x.Code == junction.Code) as HydroCalcuNodeResult; var vm = new HydroJunctionViewModel(junction, calcuResult); _allBindingList.Add(vm); } } this.hydroJunctionViewModelBindingSource.DataSource = _allBindingList; this.hydroJunctionViewModelBindingSource.ResetBindings(false); } /// /// 设置简单显示模式 /// public void SetSimpleView() { this.colDbLocked.Visible = true; this.colCode.Visible = true; this.colName.Visible = true; this.colModelType.Visible = true; this.colFlagsString.Visible = false; this.colQuality.Visible = false; this.colElev.Visible = true; this.colDemand.Visible = true; this.colDemandPattern.Visible = false; this.colCalcuPress.Visible = false; this.colCalcuHead.Visible = false; this.colCalcuDemand.Visible = false; this.colDescription.Visible = true; } /// /// 设置正常显示模式 /// public void SetNormalView() { this.colDbLocked.Visible = true; this.colCode.Visible = true; this.colName.Visible = true; this.colModelType.Visible = true; this.colFlagsString.Visible = true; this.colQuality.Visible = true; this.colElev.Visible = true; this.colDemand.Visible = true; this.colDemandPattern.Visible = true; this.colCalcuPress.Visible = false; this.colCalcuHead.Visible = false; this.colCalcuDemand.Visible = false; this.colDescription.Visible = true; } /// /// 设置计算显示模式 /// public void SetCalcuView() { this.colDbLocked.Visible = true; this.colCode.Visible = true; this.colName.Visible = true; this.colModelType.Visible = true; this.colFlagsString.Visible = false; this.colQuality.Visible = false; this.colElev.Visible = true; this.colDemand.Visible = true; this.colDemandPattern.Visible = false; this.colCalcuPress.Visible = true; this.colCalcuHead.Visible = true; this.colCalcuDemand.Visible = true; this.colDescription.Visible = true; } //行点击事件 private void gridView1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { var row = this.gridView1.GetRow(e.RowHandle) as HydroJunctionViewModel; if (row == null) { return; } this.HydroClickEvent?.Invoke(row.Vmo); } } }