From af80c4bda18c127f85de0b9e87d8d532e7a6b229 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期三, 25 十二月 2024 09:54:16 +0800 Subject: [PATCH] 变量修改 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs | 94 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 74 insertions(+), 20 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs index 0671440..f52b484 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/07-matching/03-valve/AssetsValveSingleMatchingCtrl.cs @@ -1,4 +1,6 @@ -锘縰sing DevExpress.XtraEditors; +锘縰sing DevExpress.XtraBars.Ribbon.Drawing; +using DevExpress.XtraEditors; +using DevExpress.XtraMap; using System; using System.Collections.Generic; using System.ComponentModel; @@ -18,19 +20,38 @@ InitializeComponent(); this.layoutControl1.SetupLayoutControl(); this.gridView1.SetLimitView(); - this.gridView1.RegistCustomDrawCell(); + this.gridView1.RegistCustomDrawCell(Color.BurlyWood, Color.White); this.generalSearchCtrl1.SearchEvent += Search; this.generalSearchCtrl1.ClearEvent += Clear; + this.phartDiagramRelationGridViewCtrl1.SelectDataEvent += SelectData; } public List<AssetsValveSingleMatchingViewModel> _allList = null;//鎵�鏈夊垪琛� private List<AssetsValveSingleMatchingViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� private AssetsValveMainVmo _selected = null;//褰撳墠閫変腑 + private AssetsValveSingleMatchingViewModel _row; + private ValveMatchingViewModel _viewModel; + + private long? _curveDbId; + + public class ValveMatchingViewModel + { + public ValveMatchingViewModel() + { + } + + public AssetsValveMainVmo Vmo { get; set; } + public string MatchingCurveDbId { get; set; } + + public List<HydroCurvePointViewModel> MatchingCurveQL { get; set; } + public List<HydroCurvePointViewModel> MatchingCurveOL { get; set; } + } + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public async void SetBindingData(string dbId) + public async void SetBindingData(string dbId, string curveDbId) { var allList = await BLLFactory<HStation.BLL.AssetsValveMain>.Instance.GetAll(); _allList = new List<AssetsValveSingleMatchingViewModel>(); @@ -40,20 +61,22 @@ var item = allList?.Find(x => x.ID == id); _selected = item; } + if (long.TryParse(curveDbId, out long curveId)) + { + _curveDbId = curveId; + } Search(); + await Task.Delay(300); if (_selected != null) { if (_allBindingList != null && _allBindingList.Count > 0) { - await Task.Run(() => - { - var dataSourceIndex = _allBindingList.FindIndex(x => x.Vmo == _selected); - if (dataSourceIndex >= 0) - { - var rowIndex = this.gridView1.GetRowHandle(dataSourceIndex); - this.gridView1.FocusedRowHandle = rowIndex; - } - }); + var dataSourceIndex = _allBindingList.FindIndex(x => x.Vmo == _selected); + if (dataSourceIndex >= 0) + { + var rowIndex = this.gridView1.GetRowHandle(dataSourceIndex); + this.gridView1.FocusedRowHandle = rowIndex; + } } } } @@ -99,25 +122,56 @@ /// <summary> /// 鑾峰彇 /// </summary> - public AssetsValveMainVmo Get() + public ValveMatchingViewModel Get() { - var vm = this.gridView1.GetFocusedRow() as AssetsValveSingleMatchingViewModel; - if (vm == null) - { - return default; - } - return vm.Vmo; + /* var vm = this.gridView1.GetFocusedRow() as AssetsValveSingleMatchingViewModel; + if (vm == null) + { + return default; + } + _viewModel.Vmo = vm; + */ + return _viewModel; } //鑱氱劍鏀瑰彉 private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { + _viewModel = new ValveMatchingViewModel(); var row = this.gridView1.GetFocusedRow() as AssetsValveSingleMatchingViewModel; if (row == null) { return; } - this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ValveMain, row.Vmo.ID); + _row = row; + _viewModel.Vmo = row.Vmo; + this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ValveMain, row.Vmo.ID, _curveDbId); + } + + //鏇茬嚎鏁版嵁鍏宠仈鍙樺寲 + private void SelectData(PhartDiagramRelationExtensionsVmo def) + { + if (def != null) + { + _viewModel.MatchingCurveDbId = def.ID.ToString(); + var curve = def.Diagram.GraphList[0].GetFeatPointList(); + if (_row.ValveType == HStation.Assets.eValveType.GPV) + { + _viewModel.MatchingCurveQL = new List<HydroCurvePointViewModel>(); + foreach (var item in curve) + { + _viewModel.MatchingCurveQL.Add(new HydroCurvePointViewModel(item.X, item.Y)); + } + } + else if (_row.ValveType == HStation.Assets.eValveType.TCV) + { + _viewModel.MatchingCurveOL = new List<HydroCurvePointViewModel>(); + foreach (var item in curve) + { + _viewModel.MatchingCurveOL.Add(new HydroCurvePointViewModel(item.X, item.Y)); + } + } + } } } } \ No newline at end of file -- Gitblit v1.9.3