using DevExpress.XtraEditors; namespace Yw.WinFrmUI { public partial class PartitionMgr : DocumentPage { public PartitionMgr() { InitializeComponent(); this.PageTitle.Caption = "分区"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(50); } private List _allbindingList = new List(); private BLL.Part _Bll = new BLL.Part(); //初始化 public override void InitialDataSource() { SetBindingData(); } private async void SetBindingData() { var bll = new BLL.Part(); var all = await bll.GetAll(); if (all != null) { foreach (var item in all) { _allbindingList.Add(new PartViewModel(item)); } } _allbindingList = _allbindingList.OrderBy(sort => sort.SortCode).ToList(); this.partViewModelBindingSource.DataSource = _allbindingList; this.partViewModelBindingSource.ResetBindings(false); } //添加 private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddPartDlg(); dlg.ReloadEvent += async (rhs) => { rhs.SortCode = _allbindingList.Count == 0 ? 1 : _allbindingList.Max(x => x.SortCode) + 1; var id = await _Bll.Insert(rhs); if (id > 0) { rhs.ID = id; _allbindingList.Add(new PartViewModel(rhs)); this.partViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //编辑 private async void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allbindingList); if (vm == null) { MessageBox.Show("请选择数据行!"); return; } var dlg = new EditPartDlg(); var model = await _Bll.GetByID(vm.ID); if (model == null) return; dlg.SetbindingData(model); dlg.ReloadData += async (rhs) => { vm.Reset(rhs); if (await _Bll.Update(rhs)) { return true; } return false; }; dlg.ShowDialog(); } //排序码 private void barBtnSortCode_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { /* var vm = this.gridView1.GetCurrentViewModel(_allbindingList); if (vm == null) { XtraMessageBox.Show("请选择数据行!"); } var dlg = new SetSortCodeDlg(); dlg.SetBindingData(vm.SortCode); dlg.ReloadDataEvent += (SortCode) => { vm.SortCode = SortCode; if (_Bll.Update(vm)) { return true; } return false; }; dlg.ShowDialog();*/ } //删除 private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allbindingList); if (vm == null) { XtraMessageBox.Show("请选择数据行!"); return; } if (XtraMessageBox.Show($"确认删除数据行?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK) return; if (await _Bll.DeleteByID(vm.ID)) { XtraMessageBox.Show("删除成功!"); _allbindingList.Remove(vm); this.partViewModelBindingSource.ResetBindings(false); } else XtraMessageBox.Show($"删除失败!"); } //检索 private void barBtnSearch_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (this.gridView1.IsFindPanelVisible) this.gridView1.HideFindPanel(); else this.gridView1.ShowFindPanel(); } } }