namespace Yw.WinFrmUI { public partial class HydroFlowmeterListCtrl : DevExpress.XtraEditors.XtraUserControl, IViewHydroParterList { public HydroFlowmeterListCtrl() { 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.Flowmeters != null && hydroInfo.Flowmeters.Count > 0) { foreach (var flowmeter in hydroInfo.Flowmeters) { var calcuNodeResult = allCalcuResultList?.Find(x => x.Code == flowmeter.Code) as HydroCalcuNodeResult; var vm = new HydroFlowmeterViewModel(flowmeter, calcuNodeResult); _allBindingList.Add(vm); } } this.hydroFlowmeterViewModelBindingSource.DataSource = _allBindingList; this.hydroFlowmeterViewModelBindingSource.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 HydroFlowmeterViewModel; if (row == null) { return; } this.HydroClickEvent?.Invoke(row.Vmo); } } }