From 68489b619d6859e2a98b8f9acee4416508e2d830 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期二, 24 十二月 2024 21:44:11 +0800 Subject: [PATCH] 优化单独匹配多条曲线聚焦 --- WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs | 24 +++++++++++++++++++----- 1 files changed, 19 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 0dffae4..cc1874e 100644 --- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/relation/03-grid/PhartDiagramRelationGridViewCtrl.cs @@ -27,28 +27,38 @@ private string _objectType; - public Action<List<PhartDiagramRelationExtensionsVmo>> SelectDataEvent; + 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; + } + } + } } //琛岀偣鍑讳簨浠� @@ -74,7 +84,11 @@ if (vm == null) return; var list = await new BLL.PhartDiagramRelation().GetExByObjectTypeAndObjectID(_objectType, vm.Vmo.ObjectID); - SelectDataEvent.Invoke(list); + 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