using DevExpress.XtraEditors; using ISupply.WinFrm; namespace ISupply.WinFrm.Main { public partial class SystemTypeMgr : DocumentPage { public SystemTypeMgr() { InitializeComponent(); this.PageTitle.Caption = "系统类型"; this._pageOperateInfo = "系统类型"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(50); } //初始化 public override void InitialDataSource() { SetBindingData(); } private List _allBindinglist; BLL.SystemType _Bll = new BLL.SystemType(); //页面视图类 private class CurrentViewModel : Model.SystemType { public CurrentViewModel(Model.SystemType systemType) : base(systemType) { } } private void SetBindingData() { var bll = new BLL.SystemType(); var all = bll.GetAll(); _allBindinglist = new List(); foreach (var item in all) { _allBindinglist.Add(new CurrentViewModel(item)); } this.SystemtypebindingSource.DataSource = _allBindinglist; this.SystemtypebindingSource.ResetBindings(false); } //添加 private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddSyStemTypeDlg(); dlg.ReloadEvent += (rhs) => { var bll = new BLL.SystemType(); var id = bll.Insert(rhs); if (id > 0) { rhs.ID = id; _allBindinglist.Add(new CurrentViewModel(rhs)); this.SystemtypebindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //编辑 private void barBtnEdit_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindinglist); if (vm == null) { XtraMessageBox.Show("请选择数据行!"); return; } var dlg = new EditSyStemTypeDlg(); dlg.SetbindingData(vm); dlg.ReloadData += (rhs) => { var bll = new BLL.SystemType(); if (bll.Update(rhs)) { vm.Reset(rhs); this.SystemtypebindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog(); } //删除 private void barBtndelete_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindinglist); if (vm == null) { XtraMessageBox.Show("请选择数据行!"); } if (XtraMessageBox.Show($"确认删除数据行?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation) != DialogResult.OK) return; if (_Bll.DeleteByID(vm.ID, out string msg)) { XtraMessageBox.Show("删除成功!"); _allBindinglist.Remove(vm); this.SystemtypebindingSource.ResetBindings(false); } else XtraMessageBox.Show($"删除失败!\n{msg}"); } //检索 private void barBtnSearch_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (this.gridView1.IsFindPanelVisible) this.gridView1.HideFindPanel(); else this.gridView1.ShowFindPanel(); } //标签名称 private void barBtnTagName_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindinglist); if (vm == null) { XtraMessageBox.Show("请选择数据行!"); return; } var dlg = new SetTagNameDlg(); dlg.SetBindingData(vm.TagName); dlg.ReloadDataEvent += (rhs) => { vm.TagName = rhs; if (_Bll.Update(vm)) { return true; } return false; }; dlg.ShowDialog(); } //排序码 private void barBtnSortCode_ItemClick_1(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 void barBtnStates_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindinglist); if (vm == null) { XtraMessageBox.Show("请选择数据行"); return; } var dlg = new SetUseStatusDlg(); dlg.SetBindingData(vm.UseStatus); dlg.ReloadDataEvent += (rhs) => { vm.UseStatus = rhs; if (_Bll.Update(vm)) { return true; } return false; }; dlg.ShowDialog(); } } }