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