using DevExpress.Utils.Behaviors;
|
using DevExpress.Utils.DragDrop;
|
using DevExpress.XtraTreeList;
|
|
namespace HStation.WinFrmUI.Basic
|
{
|
public partial class SysPropManageMainPanel : DocumentPage
|
{
|
public SysPropManageMainPanel()
|
{
|
InitializeComponent();
|
this.gridView1.SetNormalView();
|
this.gridView1.RegistCustomDrawRowIndicator();
|
this.PageTitle.Caption = "属性管理";
|
this.PageTitle.HeaderSvgImage = this.svgImage32[0];
|
this.PageTitle.SvgImageSize = new Size(24, 24);
|
this.propGroupTreeListCtrl1.FocusedChangedEvent += ModuleTreeListCtrl1_FocusedChangedEvent;
|
}
|
|
private List<SysPropViewModel> _allBindingList = new List<SysPropViewModel>();
|
|
private Yw.BLL.SysProp _bll = null;
|
|
public override void InitialDataSource()
|
{
|
SetBindingData();
|
this.propGroupTreeListCtrl1.SetBindingData();
|
}
|
|
//聚焦切换
|
private async void ModuleTreeListCtrl1_FocusedChangedEvent(long groupID)
|
{
|
var alllist = await _bll.GetByGroupID(groupID);
|
_allBindingList.Clear();
|
foreach (var item in alllist)
|
{
|
_allBindingList.Add(new SysPropViewModel(item));
|
}
|
this.propViewModelBindingSource.DataSource = _allBindingList;
|
this.propViewModelBindingSource.ResetBindings(false);
|
}
|
|
private void SetBindingData()
|
{
|
_bll = new Yw.BLL.SysProp();
|
}
|
|
//添加
|
private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var dlg = new AddSysPropDlg();
|
var groupid = this.propGroupTreeListCtrl1.GetCurrentGroupID();
|
var typeid = this.propGroupTreeListCtrl1.GetCurrentTypeID();
|
if (groupid <= 0)
|
return;
|
if (typeid <= 0)
|
return;
|
dlg.SetBindingData(groupid, typeid);
|
dlg.ReloadDataEvent += async (rhs) =>
|
{
|
var id = await _bll.Insert(rhs);
|
if (id > 0)
|
{
|
var model = await _bll.GetByID(id);
|
_allBindingList.Add(new SysPropViewModel(model));
|
this.propViewModelBindingSource.ResetBindings(false);
|
return true;
|
}
|
return false;
|
};
|
dlg.ShowDialog();
|
}
|
|
//编辑
|
private void barBtnEditPumpCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
var dlg = new EditSysPropDlg();
|
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);
|
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;
|
var result = await _bll.DeleteByID(currentVm.ID);
|
if (result)
|
{
|
_allBindingList.Remove(currentVm);
|
this.propViewModelBindingSource.ResetBindings(false);
|
MessageBoxHelper.ShowSuccess($"删除成功!");
|
}
|
else
|
{
|
MessageBoxHelper.ShowError($"删除失败!");
|
return;
|
}
|
}
|
|
//属性选项
|
private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
|
{
|
if (_allBindingList == null || _allBindingList.Count < 1)
|
return;
|
var row = this.gridView1.GetCurrentViewModel(_allBindingList);
|
if (row == null)
|
return;
|
if (e.Column == this.ColPropEdit)
|
{
|
var dlg = new SetSysPropChoiceDlg();
|
dlg.SetBindingData(row.ID);
|
dlg.ShowDialog();
|
}
|
}
|
|
//排序
|
private void barCheckItemSorter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
|
{
|
if (barCheckSorter.Checked)
|
{
|
behaviorManager1.Attach<DragDropBehavior>(gridView1, behavior =>
|
{
|
// behavior.BeginDragDrop += Behavior_BeginDragDrop;
|
behavior.EndDragDrop += Behavior_EndDragDrop;
|
});
|
}
|
else
|
{
|
behaviorManager1.Detach<DragDropBehavior>(gridView1);
|
}
|
}
|
|
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++;
|
}
|
var bol = await _bll.UpdateSorter(sorterList);
|
if (await _bll.UpdateSorter(sorterList))
|
{
|
this.propViewModelBindingSource.ResetBindings(false);
|
}
|
else
|
{
|
// e.Effect= bol? DragDropEffects.Move : DragDropEffects.None;
|
// gridView1.FocusedRowHandle = _LastRowIndex;
|
TipFormHelper.ShowError("修改排序失败!");
|
return;
|
}
|
}
|
}
|
}
|