namespace HStation.WinFrmUI.Assets { public partial class AdaptingManageMainPage : DocumentPage { public AdaptingManageMainPage() { InitializeComponent(); this.PageTitle.Caption = "管道附件"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(); this.PageTitle.HeaderSvgImage = this.svgImageCollection1[0]; this.PageTitle.SvgImageSize = new Size(24, 24); } private BLL.AdaptingManage _bll = null; private List _allBindingList = null; //初始化数据 public override async void InitialDataSource() { _allBindingList = new List(); _bll = new BLL.AdaptingManage(); var list = await _bll.GetAll(); foreach (var item in list) { _allBindingList.Add(new AdaptingViewModel(item)); } SortByGroup(); adaptingViewModelBindingSource.DataSource = _allBindingList; adaptingViewModelBindingSource.ResetBindings(false); } //添加 private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddAdaptingMainDlg(); dlg.SetBindingData(HStation.Assets.eAdaptingType.Elbow); dlg.ReloadDataEvent += async (rhs) => { var id = await _bll.Insert(rhs); if (id > 0) { _allBindingList.Add(new AdaptingViewModel(await _bll.GetByID(id))); // SortByGroup(); this.adaptingViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //编辑 private async void BtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new EditAdaptingMainDlg(); var model = await _bll.GetByID(vm.ID); if (model == null) return; dlg.SetBindingData(model); dlg.ReloadDataEvent += async (rhs) => { if (await _bll.Update(rhs)) { vm.Reset(rhs); this.adaptingViewModelBindingSource.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; var groupresult = await _bll.DeleteByID(currentVm.ID); if (groupresult) { _allBindingList.Remove(currentVm); this.adaptingViewModelBindingSource.ResetBindings(false); TipFormHelper.ShowSucceed("删除成功!"); } else { TipFormHelper.ShowSucceed("删除失败!"); return; } } //排序 private void SortByGroup() { _allBindingList = _allBindingList .GroupBy(item => item.AdaptingType) .Select(group => group.OrderBy(subItem => subItem.Caliber)) .SelectMany(group => group) .ToList(); } } }