duheng
2024-10-25 59e5e0bf989993c0dce1851e34bcbe4bfb42ed56
WinFrmUI/HStation.WinFrmUI.Basic/00-SysTypeManage/SysTypeManageMainPanel.cs
@@ -1,4 +1,7 @@
namespace HStation.WinFrmUI.Basic
using 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;
            }
        }
    }
}