From b4a83cab68992fbf1d88dcc43957f4aebea60343 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期一, 30 十二月 2024 09:40:29 +0800 Subject: [PATCH] 水力模块整改,解决存储慢获取慢的问题 --- WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs | 41 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 36 insertions(+), 5 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs index 7e5ee9b..cc1874e 100644 --- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs @@ -9,6 +9,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using System.Windows.Input; using Yw; namespace HStation.WinFrmUI @@ -19,29 +20,45 @@ { InitializeComponent(); this.gridView1.SetNormalView(); - this.gridView1.RegistCustomDrawCell(); + this.gridView1.RegistCustomDrawCell(Color.BurlyWood, Color.White); } private List<PhartDiagramRelationGridItemViewModel> _allBindingList = null;//鎵�鏈夌粦瀹氬垪琛� + private string _objectType; + + public Action<PhartDiagramRelationExtensionsVmo> SelectDataEvent; + /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public async void SetBindingData(string objectType, long objectId) + public async void SetBindingData(string objectType, long objectId, long? curveId) { + _objectType = objectType; var allList = await BLLFactory<HStation.BLL.PhartDiagramRelation>.Instance.GetByObjectTypeAndObjectID(objectType, objectId); - SetBindingData(allList); + SetBindingData(allList, curveId); + gridView1_FocusedRowChanged(null, null); } /// <summary> /// 缁戝畾鏁版嵁 /// </summary> - public void SetBindingData(List<PhartDiagramRelationVmo> allList) + public void SetBindingData(List<PhartDiagramRelationVmo> allList, long? curveId) { _allBindingList = new List<PhartDiagramRelationGridItemViewModel>(); allList?.OrderBy(x => x.SortCode).ToList().ForEach(x => _allBindingList.Add(new PhartDiagramRelationGridItemViewModel(x))); this.phartDiagramRelationGridItemViewModelBindingSource.DataSource = _allBindingList; this.phartDiagramRelationGridItemViewModelBindingSource.ResetBindings(false); + if (curveId != null) + { + for (int i = 0; i < _allBindingList.Count; i++) + { + if (_allBindingList[i].ID == curveId) + { + gridView1.FocusedRowHandle = i; + } + } + } } //琛岀偣鍑讳簨浠� @@ -59,5 +76,19 @@ dlg.ShowDialog(); } } + + //琛屽彉鍖栦簨浠� + private async void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) + { + var vm = this.gridView1.GetCurrentViewModel(_allBindingList); + if (vm == null) + return; + var list = await new BLL.PhartDiagramRelation().GetExByObjectTypeAndObjectID(_objectType, vm.Vmo.ObjectID); + var targetItem = list.FirstOrDefault(x => x.ID == vm.ID); + if (targetItem != null) + { + SelectDataEvent.Invoke(targetItem); + } + } } -} +} \ No newline at end of file -- Gitblit v1.9.3