namespace Yw.WinFrmUI { public partial class HydroMeterListCtrl : DevExpress.XtraEditors.XtraUserControl, IViewHydroParterList { public HydroMeterListCtrl() { 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(Yw.Model.HydroModelInfo hydroInfo, List allCalcuResultList) { _allBindingList = new List(); if (hydroInfo != null && hydroInfo.Meters != null && hydroInfo.Meters.Count > 0) { foreach (var meter in hydroInfo.Meters) { var calcuNodeResult = allCalcuResultList?.Find(x => x.Code == meter.Code) as HydroCalcuNodeResult; var vm = new HydroMeterViewModel(meter, hydroInfo); _allBindingList.Add(vm); } } this.hydroMeterViewModelBindingSource.DataSource = _allBindingList; this.hydroMeterViewModelBindingSource.ResetBindings(false); if (allCalcuResultList == null || allCalcuResultList.Count < 1) { SetNormalView(); } else { SetCalcuView(); } } /// /// 设置简单显示模式 /// public void SetSimpleView() { this.colDbLocked.Visible = true; this.colCode.Visible = true; this.colName.Visible = true; this.colModelType.Visible = true; this.colHasDb.Visible = true; this.colQuality.Visible = false; this.colElev.Visible = false; this.colMinorLoss.Visible = false; this.colDemand.Visible = false; this.colDemandPattern.Visible = false; this.colCalcuPress.Visible = false; this.colCalcuHead.Visible = false; this.colCalcuDemand.Visible = false; this.colFlagsString.Visible = true; this.colDescription.Visible = true; } /// /// 设置正常显示模式 /// public void SetNormalView() { this.colDbLocked.Visible = true; this.colCode.Visible = true; this.colName.Visible = true; this.colModelType.Visible = true; this.colHasDb.Visible = true; this.colQuality.Visible = false; this.colElev.Visible = true; this.colMinorLoss.Visible = true; this.colDemand.Visible = true; this.colDemandPattern.Visible = false; this.colCalcuPress.Visible = false; this.colCalcuHead.Visible = false; this.colCalcuDemand.Visible = false; this.colFlagsString.Visible = true; this.colDescription.Visible = true; } /// /// 设置计算显示模式 /// public void SetCalcuView() { this.colDbLocked.Visible = true; this.colCode.Visible = true; this.colName.Visible = true; this.colModelType.Visible = true; this.colHasDb.Visible = true; this.colQuality.Visible = false; this.colElev.Visible = true; this.colMinorLoss.Visible = true; this.colDemand.Visible = true; this.colDemandPattern.Visible = false; this.colCalcuPress.Visible = true; this.colCalcuHead.Visible = true; this.colCalcuDemand.Visible = true; this.colFlagsString.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 HydroMeterViewModel; if (row == null) { return; } this.HydroClickEvent?.Invoke(row.Vmo); } } }