From c9585ab171fb973d16792d7a290994bf8279da63 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期六, 09 十一月 2024 09:56:41 +0800 Subject: [PATCH] 属性视图调整 --- WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs | 179 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 116 insertions(+), 63 deletions(-) diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-parter/09-hydrant/HydroHydrantListCtrl.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs similarity index 73% rename from WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-parter/09-hydrant/HydroHydrantListCtrl.cs rename to WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs index d0a089b..0991f6c 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-parter/09-hydrant/HydroHydrantListCtrl.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/06-visual/09-hydrant/HydroHydrantListCtrl.cs @@ -1,9 +1,10 @@ 锘縰sing DevExpress.XtraEditors; +using DevExpress.XtraRichEdit.Model; using Yw.Model; namespace Yw.WinFrmUI { - public partial class HydroHydrantListCtrl : DevExpress.XtraEditors.XtraUserControl, IHydroParterList + public partial class HydroHydrantListCtrl : DevExpress.XtraEditors.XtraUserControl, IHydroVisualList { public HydroHydrantListCtrl() { @@ -16,11 +17,19 @@ /// <summary> /// 姘村姏鐐瑰嚮浜嬩欢 /// </summary> - public event Action<Yw.Model.HydroParterInfo> HydroClickEvent; + public event Action<Yw.Model.HydroVisualInfo> HydroClickInfoEvent; + /// <summary> + /// 姘村姏鐐瑰嚮瑙嗗浘浜嬩欢 + /// </summary> + public event Action<HydroVisualViewModel> HydroClickViewEvent; /// <summary> /// 姘村姏鏀瑰彉浜嬩欢 /// </summary> - public event Action<List<HydroParterInfo>> HydroChangedEvent; + public event Action<List<Yw.Model.HydroVisualInfo>> HydroChangedInfoEvent; + /// <summary> + /// 姘村姏鏀瑰彉瑙嗗浘浜嬩欢 + /// </summary> + public event Action<List<HydroVisualViewModel>> HydroChangedViewEvent; /// <summary> /// 鏄剧ず鏌ヨ闈㈡澘 @@ -35,13 +44,12 @@ } /// <summary> - /// 鏄惁鎷ユ湁姘村埄鍒楄〃 + /// 鏄惁鎷ユ湁姘村姏鍒楄〃 /// </summary> public bool HasHydroList { get { return _allList != null && _allList.Count > 0; } } - //鎵�鏈夊垪琛� private List<HydroHydrantViewModel> _allList = null; @@ -51,14 +59,14 @@ /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(HydroModelInfo hydroInfo) + public void SetBindingData(Yw.Model.HydroModelInfo hydroInfo) { _allList = new List<HydroHydrantViewModel>(); if (hydroInfo != null && hydroInfo.Hydrants != null && hydroInfo.Hydrants.Count > 0) { - foreach (var hydrant in hydroInfo.Hydrants) + foreach (var visual in hydroInfo.Hydrants) { - var vm = new HydroHydrantViewModel(hydrant, hydroInfo); + var vm = new HydroHydrantViewModel(visual, hydroInfo); _allList.Add(vm); } } @@ -73,10 +81,10 @@ _allList = new List<HydroHydrantViewModel>(); if (hydroInfo != null && hydroInfo.Hydrants != null && hydroInfo.Hydrants.Count > 0) { - foreach (var hydrant in hydroInfo.Hydrants) + foreach (var visual in hydroInfo.Hydrants) { - var vm = new HydroHydrantViewModel(hydrant, hydroInfo); - var calcuResult = allCalcuResultList?.Find(x => x.Code == hydrant.Code); + var vm = new HydroHydrantViewModel(visual, hydroInfo); + var calcuResult = allCalcuResultList?.Find(x => x.Code == visual.Code); if (calcuResult != null) { vm.UpdateCalcuProperty(calcuResult); @@ -85,6 +93,30 @@ } } Search(); + } + + /// <summary> + /// 缁戝畾鏁版嵁 + /// </summary> + public void SetBindingData(List<HydroVisualViewModel> allVisualViewModelList) + { + _allList = new List<HydroHydrantViewModel>(); + allVisualViewModelList?.ForEach(x => + { + if (x.Catalog == HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Hydrant)) + { + _allList.Add(x as HydroHydrantViewModel); + } + }); + Search(); + } + + /// <summary> + /// 鏇存柊缁戝畾 + /// </summary> + public void UpdateBindingData() + { + this.hydroHydrantViewModelBindingSource.ResetBindings(false); } /// <summary> @@ -103,17 +135,17 @@ /// <summary> /// 鏇存柊灞炴�� /// </summary> - public void UpdateProperty(Yw.Model.HydroParterInfo parter) + public void UpdateProperty(Yw.Model.HydroVisualInfo visual) { if (_allList == null || _allList.Count < 1) { return; } - if (parter == null) + if (visual == null) { return; } - var vm = _allList.Find(x => x.Code == parter.Code); + var vm = _allList.Find(x => x.Code == visual.Code); if (vm == null) { return; @@ -125,17 +157,17 @@ /// <summary> /// 鏇存柊灞炴�� /// </summary> - public void UpdateProperty(List<Yw.Model.HydroParterInfo> parterList) + public void UpdateProperty(List<Yw.Model.HydroVisualInfo> visualList) { if (_allList == null || _allList.Count < 1) { return; } - if (parterList == null || parterList.Count < 1) + if (visualList == null || visualList.Count < 1) { return; } - parterList.ForEach(x => + visualList.ForEach(x => { var vm = _allList.Find(t => x.Code == x.Code); if (vm != null) @@ -155,12 +187,12 @@ { if (_allList != null && _allList.Count > 0) { - foreach (var parter in _allList) + foreach (var visual in _allList) { - var calcuResult = allCalcuResultList.Find(x => x.Code == parter.Code); + var calcuResult = allCalcuResultList.Find(x => x.Code == visual.Code); if (calcuResult != null) { - parter.UpdateCalcuProperty(calcuResult); + visual.UpdateCalcuProperty(calcuResult); } } this.hydroHydrantViewModelBindingSource.ResetBindings(false); @@ -210,23 +242,69 @@ Search(); if (_allBindingList == null || _allBindingList.Count < 1) { - XtraMessageBox.Show("鏃犲彲璁剧疆娑堢伀鏍撴暟鎹�"); + TipFormHelper.ShowWarn("鏃犳暟鎹紒"); return; } var dlg = new SetHydroHydrantDlg(); dlg.SetBindingData(_allBindingList.Select(x => x.Vmo).ToList()); dlg.ReloadDataEvent += (list) => { - _allBindingList.ForEach(x => - { - x.UpdateProperty(); - }); + _allBindingList.ForEach(x => x.UpdateProperty()); this.hydroHydrantViewModelBindingSource.ResetBindings(false); - var allParterList = _allBindingList.Select(x => x.Vmo as Yw.Model.HydroParterInfo).ToList(); - this.HydroChangedEvent?.Invoke(allParterList); + var allVisualViewModelList = _allBindingList.Select(x => x as HydroVisualViewModel).ToList(); + this.HydroChangedViewEvent?.Invoke(allVisualViewModelList); + var allVisualInfoList = allVisualViewModelList.Select(x => x.Vmo).ToList(); + this.HydroChangedInfoEvent?.Invoke(allVisualInfoList); }; dlg.ShowDialog(); } + + //鏌ヨ + private void btnSearch_Click(object sender, EventArgs e) + { + Search(); + } + + //閲嶇疆 + private void btnReset_Click(object sender, EventArgs e) + { + Reset(); + } + + //璁剧疆 + private void btnSet_Click(object sender, EventArgs e) + { + Set(); + } + + private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) + { + var row = this.gridView1.GetRow(e.RowHandle) as HydroHydrantViewModel; + if (row == null) + { + return; + } + + if (e.Column == this.colSet) + { + var dlg = new SetHydroHydrantDlg(); + dlg.SetBindingData(row.Vmo); + dlg.ReloadDataEvent += (list) => + { + row.UpdateProperty(); + this.gridView1.RefreshRow(e.RowHandle); + this.HydroChangedViewEvent?.Invoke(new List<HydroVisualViewModel>() { row }); + this.HydroChangedInfoEvent?.Invoke(new List<HydroVisualInfo>() { row.Vmo }); + }; + dlg.ShowDialog(); + } + else + { + this.HydroClickViewEvent?.Invoke(row); + this.HydroClickInfoEvent?.Invoke(row.Vmo); + } + } + /// <summary> /// 璁剧疆绠�鍗曟樉绀烘ā寮� @@ -234,9 +312,9 @@ public void SetSimpleView() { this.groupForHead.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; - this.colDbLocked.Visible = true; - this.colCode.Visible = true; + this.colDbLocked.Visible = false; this.colName.Visible = true; + this.colCode.Visible = true; this.colModelType.Visible = true; this.colCoefficient.Visible = true; this.colElev.Visible = false; @@ -244,7 +322,7 @@ this.colCalcuPress.Visible = false; this.colCalcuHead.Visible = false; this.colCalcuDemand.Visible = false; - this.colHasDb.Visible = true; + this.colHasDb.Visible = false; this.colFlags.Visible = true; this.colDescription.Visible = true; this.colSet.Visible = false; @@ -257,12 +335,12 @@ { this.groupForHead.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; this.colDbLocked.Visible = true; - this.colCode.Visible = true; this.colName.Visible = true; + this.colCode.Visible = true; this.colModelType.Visible = true; this.colCoefficient.Visible = true; - this.colElev.Visible = false; - this.colMinorLoss.Visible = false; + this.colElev.Visible = true; + this.colMinorLoss.Visible = true; this.colCalcuPress.Visible = false; this.colCalcuHead.Visible = false; this.colCalcuDemand.Visible = false; @@ -283,8 +361,8 @@ this.colName.Visible = true; this.colModelType.Visible = true; this.colCoefficient.Visible = true; - this.colElev.Visible = false; - this.colMinorLoss.Visible = false; + this.colElev.Visible = true; + this.colMinorLoss.Visible = true; this.colCalcuPress.Visible = true; this.colCalcuHead.Visible = true; this.colCalcuDemand.Visible = true; @@ -301,12 +379,12 @@ { this.groupForHead.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Always; this.colDbLocked.Visible = true; - this.colCode.Visible = true; this.colName.Visible = true; + this.colCode.Visible = true; this.colModelType.Visible = true; this.colCoefficient.Visible = true; - this.colElev.Visible = false; - this.colMinorLoss.Visible = false; + this.colElev.Visible = true; + this.colMinorLoss.Visible = true; this.colCalcuPress.Visible = false; this.colCalcuHead.Visible = false; this.colCalcuDemand.Visible = false; @@ -316,31 +394,6 @@ this.colSet.Visible = true; } - private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) - { - var row = this.gridView1.GetRow(e.RowHandle) as HydroHydrantViewModel; - if (row == null) - { - return; - } - - if (e.Column == this.colSet) - { - var dlg = new SetHydroHydrantDlg(); - dlg.SetBindingData(row.Vmo); - dlg.ReloadDataEvent += (list) => - { - row.UpdateProperty(); - this.gridView1.RefreshRow(e.RowHandle); - this.HydroChangedEvent?.Invoke(new List<Model.HydroParterInfo>() { row.Vmo }); - }; - dlg.ShowDialog(); - } - else - { - this.HydroClickEvent?.Invoke(row.Vmo); - } - } } -- Gitblit v1.9.3