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