using DevExpress.XtraEditors; using HStation.WinFrmUI.Dict.Core; using Yw; namespace HStation.WinFrmUI.Dict { /// /// /// public partial class DictGroupTreeListCtrl : XtraUserControl { public DictGroupTreeListCtrl() { InitializeComponent(); this.treeList1.InitialDefaultSettings(); this.treeList1.SelectImageList = ImageLib.Lib; } //聚焦改变事件 public event Action RloadEvent = null; private List _allBindingList = null; public async void SetBindingData() { _allBindingList = new List(); var alllist = await BLLFactory.Instance.GetAll(); if (alllist != null) { foreach (var item in alllist) { _allBindingList.Add(new DictGroupViewModel(item)); } } this.treeList1.DataSource = _allBindingList; this.treeList1.RefreshDataSource(); } //获取当前选中组id public long GetCurrentGroupID() { var vm = this.treeList1.GetCurrentViewModel(_allBindingList); if (vm == null) return default; return vm.ID; } //添加阀门系列 private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddDictGroupDlg(); dlg.ReloadDataEvent += async (rhs) => { var bll = new Yw.BLL.SysDictGroup(); var id = await bll.Insert(rhs); if (id > 0) { rhs.ID = id; _allBindingList.Add(new DictGroupViewModel(rhs)); this.treeList1.RefreshDataSource(); return true; } return false; }; dlg.ShowDialog(); } //聚焦切换 private void treeList1_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { var vm = this.treeList1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } RloadEvent.Invoke(vm.ID); } //修改 private async void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.treeList1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new EditDictGroupDlg(); var dictGroup = await BLLFactory.Instance.GetByID(vm.ID); if (dictGroup == null) return; dlg.SetBindingData(dictGroup); dlg.ReloadDataEvent += async (rhs) => { if (await BLLFactory.Instance.Update(rhs)) { vm.Reset(rhs); this.treeList1.RefreshDataSource(); return true; } return false; }; dlg.ShowDialog(); } //删除 private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.treeList1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } if (MessageBoxHelper.IsClickOk($"确认删除数据行?", "提示")) return; var groupresult = await BLLFactory.Instance.DeleteByID(currentVm.ID); if (groupresult) { _allBindingList.Remove(currentVm); this.treeList1.RefreshDataSource(); TipFormHelper.ShowSucceed("删除成功!"); } else { TipFormHelper.ShowError("删除失败!"); return; } } } }