From 5e789cd1ae9a9b22a6ab66a970457c372e9001de Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期五, 18 十月 2024 11:15:31 +0800
Subject: [PATCH] 增加资产匹配需要的额外约束字段,增加基础模块的排序功能(未完成)

---
 WinFrmUI/HStation.WinFrmUI.Basic/00-SysTypeManage/SysTypeManageMainPanel.cs |   70 ++++++++++++++++++++++++++++++++++-
 1 files changed, 68 insertions(+), 2 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Basic/00-SysTypeManage/SysTypeManageMainPanel.cs b/WinFrmUI/HStation.WinFrmUI.Basic/00-SysTypeManage/SysTypeManageMainPanel.cs
index d1d4ec7..1742fd3 100644
--- a/WinFrmUI/HStation.WinFrmUI.Basic/00-SysTypeManage/SysTypeManageMainPanel.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Basic/00-SysTypeManage/SysTypeManageMainPanel.cs
@@ -1,4 +1,7 @@
-锘縩amespace HStation.WinFrmUI.Basic
+锘縰sing DevExpress.Utils.Behaviors;
+using DevExpress.Utils.DragDrop;
+
+namespace HStation.WinFrmUI.Basic
 {
     public partial class SysTypeManageMainPanel : DocumentPage
     {
@@ -14,6 +17,8 @@
         }
 
         private List<SysTypeViewModel> _allBindingList = new List<SysTypeViewModel>();
+
+        private int _LastRowIndex;
 
         private Yw.BLL.SysType _bll = null;
 
@@ -47,8 +52,11 @@
         {
             var dlg = new AddSysTypeDlg();
             var moduleid = this.moduleTreeListCtrl1.GetCurrentID();
-            if (moduleid < 0)
+            if (moduleid == 0)
+            {
+                MessageBoxHelper.ShowWarning("璇烽�夋嫨鏁版嵁琛岋紒");
                 return;
+            }
             dlg.SetBindingData(moduleid);
             dlg.ReloadDataEvent += async (rhs) =>
             {
@@ -123,5 +131,63 @@
                 return;
             }
         }
+
+        //鍏佽鎷栨嫿鎺掑簭
+        private void barCheckItem1_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
+        {
+            if (barCheckSorter.Checked)
+            {
+                behaviorManager1.Attach<DragDropBehavior>(gridView1, behavior =>
+                {
+                    behavior.BeginDragDrop += Behavior_BeginDragDrop;
+                    behavior.DragDrop += Behavior_DragDrop;
+                    behavior.EndDragDrop += Behavior_EndDragDrop;
+                });
+            }
+            else
+            {
+                behaviorManager1.Detach<DragDropBehavior>(gridView1);
+            }
+        }
+
+        private void Behavior_DragDrop(object sender, DragDropEventArgs e)
+        {
+            //behaviorManager1.Detach<DragDropBehavior>(gridView1);
+            return;
+        }
+
+        private void Behavior_DragEnter(object sender, DragEnterEventArgs e)
+        {
+            return;
+        }
+
+        private void Behavior_BeginDragDrop(object sender, BeginDragDropEventArgs e)
+        {
+            _LastRowIndex = gridView1.FocusedRowHandle;
+            var currentCellValue = gridView1.GetFocusedValue();
+        }
+
+        //鎷栨嫿鎺掑簭鎿嶄綔
+        private async void Behavior_EndDragDrop(object sender, EndDragDropEventArgs e)
+        {
+            var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
+            var sorterList = new List<Yw.Vmo.Sorter>();
+            int i = 1;
+            foreach (var item in _allBindingList)
+            {
+                sorterList.Add(new Yw.Vmo.Sorter() { ID = item.ID, SortCode = i });
+                i++;
+            }
+            if (await _bll.UpdateSorter(sorterList))
+            {
+                this.typeViewModelBindingSource.ResetBindings(false);
+            }
+            else
+            {
+                gridView1.FocusedRowHandle = _LastRowIndex;
+                TipFormHelper.ShowError("淇敼鎺掑簭澶辫触!");
+                return;
+            }
+        }
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3