using DevExpress.Utils.DragDrop;
|
|
namespace HStation.WinFrmUI.Basic
|
{
|
public partial class SysTypeManageMainPanel : DocumentPage
|
{
|
public SysTypeManageMainPanel()
|
{
|
InitializeComponent();
|
this.gridView1.SetNormalView();
|
this.gridView1.RegistCustomDrawRowIndicator();
|
this.PageTitle.Caption = "类型管理";
|
this.PageTitle.HeaderSvgImage = this.svgImage32[0];
|
this.PageTitle.SvgImageSize = new Size(24, 24);
|
this.moduleTreeListCtrl1.FocusedChangedEvent += ModuleTreeListCtrl1_FocusedChangedEvent;
|
}
|
|
private List<SysTypeViewModel> _allBindingList = new List<SysTypeViewModel>();
|
|
private int _LastRowIndex;
|
|
private Yw.BLL.SysType _bll = null;
|
|
public override void InitialDataSource()
|
{
|
SetBindingData();
|
}
|
|
//聚焦切换
|
private async void ModuleTreeListCtrl1_FocusedChangedEvent(long moduleid)
|
{
|
var alllist = await _bll.GetByModuleID(moduleid);
|
_allBindingList.Clear();
|
foreach (var item in alllist)
|
{
|
_allBindingList.Add(new SysTypeViewModel(item));
|
}
|
this.typeViewModelBindingSource.ResetBindings(false);
|
}
|
|
private async void SetBindingData()
|
{
|
this.moduleTreeListCtrl1.SetBindingData();
|
_bll = new Yw.BLL.SysType();
|
this.typeViewModelBindingSource.DataSource = _allBindingList;
|
this.typeViewModelBindingSource.ResetBindings(false);
|
}
|
|
//添加
|
private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var dlg = new AddSysTypeDlg();
|
var moduleid = this.moduleTreeListCtrl1.GetCurrentID();
|
if (moduleid == 0)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行!");
|
return;
|
}
|
dlg.SetBindingData(moduleid);
|
dlg.ReloadDataEvent += async (rhs) =>
|
{
|
var id = await _bll.Insert(rhs);
|
if (id > 0)
|
{
|
var model = await _bll.GetByID(id);
|
_allBindingList.Add(new SysTypeViewModel(model));
|
this.typeViewModelBindingSource.ResetBindings(false);
|
return true;
|
}
|
|
return false;
|
};
|
|
dlg.ShowDialog();
|
}
|
|
//编辑
|
private void barBtnEditPumpCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var dlg = new EditSysTypeDlg();
|
var vm = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (vm == null)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行");
|
return;
|
}
|
dlg.SetBindingData(vm.ID);
|
dlg.ReloadDataEvent += async (rhs) =>
|
{
|
if (await _bll.Update(rhs))
|
{
|
vm.Reset(rhs);
|
this.typeViewModelBindingSource.ResetBindings(false);
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
|
//删除
|
private async void BtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (currentVm == null)
|
{
|
MessageBoxHelper.ShowWarning("请选择数据行!");
|
return;
|
}
|
if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示"))
|
return;
|
try
|
{
|
var result = await _bll.DeleteByID(currentVm.ID);
|
if (result)
|
{
|
_allBindingList.Remove(currentVm);
|
this.typeViewModelBindingSource.ResetBindings(false);
|
MessageBoxHelper.ShowSuccess($"删除成功!");
|
}
|
else
|
{
|
MessageBoxHelper.ShowError($"删除失败!");
|
return;
|
}
|
}
|
catch (Yw.Dto.InternalException ex)
|
{
|
MessageBoxHelper.ShowError(ex.ErrorMsg);
|
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;
|
}
|
}
|
}
|
}
|