namespace HStation.WinFrmUI.Basic { public partial class SysCatalogManageMainPanel : DocumentPage { public SysCatalogManageMainPanel() { InitializeComponent(); this.PageTitle.Caption = "分类管理"; this.PageTitle.HeaderSvgImage = this.svgImage32[1]; this.PageTitle.SvgImageSize = new Size(24, 24); this.typeTreeListCtrl2.FocusedChangedEvent += TypeTreeListCtrl2_FocusedChangedEvent; } private List _allBindingList = null; private Yw.BLL.SysCatalog _bll = null; public override void InitialDataSource() { this.typeTreeListCtrl2.SetBindingData(); _bll = new Yw.BLL.SysCatalog(); } //聚焦切换 private async void TypeTreeListCtrl2_FocusedChangedEvent(long typeID) { _allBindingList = new List(); var alllist = await _bll.GetByTypeID(typeID); _allBindingList.Clear(); foreach (var item in alllist) { _allBindingList.Add(new SysCatalogViewModel(item)); } _allBindingList = _allBindingList.OrderBy(x => x.SortCode).ToList(); this.catlogViewModelBindingSource.DataSource = _allBindingList; this.catlogViewModelBindingSource.ResetBindings(false); } //添加 private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddSysCatalogDlg(); var typeID = this.typeTreeListCtrl2.GetCurrentID(); dlg.SetBindingData(typeID); dlg.ReloadDataEvent += async (rhs) => { var id = await _bll.Insert(rhs); if (id > 0) { var model = await _bll.GetByID(id); _allBindingList.Add(new SysCatalogViewModel(model)); this.catlogViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //添加子项 private void BtnAddChild_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddSysCatalogDlg(); var vm = this.treeList1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var typeID = this.typeTreeListCtrl2.GetCurrentID(); dlg.SetBindingData(typeID, vm.ID); dlg.ReloadDataEvent += async (rhs) => { var id = await _bll.Insert(rhs); if (id > 0) { var model = await _bll.GetByID(id); _allBindingList.Add(new SysCatalogViewModel(model)); this.catlogViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //编辑 private void barBtnEditPumpCurve_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new EditSysCatlaogDlg(); var vm = this.treeList1.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.catlogViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //删除 private async void BtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.treeList1.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.catlogViewModelBindingSource.ResetBindings(false); MessageBoxHelper.ShowSuccess($"删除成功!"); } else { MessageBoxHelper.ShowError($"删除失败!"); return; } } //相应属性编辑 private async void BtnPropEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.treeList1.GetCurrentViewModel(_allBindingList); if (currentVm != null) { var dlg = new SetSysPropForCatalogDlg(); dlg.SetBindingData(currentVm.ID); dlg.ShowDialog(); } else { MessageBoxHelper.ShowWarning("选择数据行!"); return; } } } }