using DevExpress.XtraDiagram.Bars; using HStation.WinFrmUI.Dict.Core; using Yw; namespace HStation.WinFrmUI.Dict { public partial class DictManageMainPanel : DocumentPage { public DictManageMainPanel() { InitializeComponent(); this.PageTitle.Caption = "字典管理"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(); this.PageTitle.HeaderSvgImage = this.svgImageCollection1[0]; this.PageTitle.SvgImageSize = new Size(24, 24); this.dictGroupTreeListCtrl1.RloadEvent += DictTreeListCtrl1_RloadEvent; } private List _allBindingList = null; private Yw.BLL.SysDictType _bll = null; private long _groupId; //初始化数据 public override void InitialDataSource() { _bll = new Yw.BLL.SysDictType(); _allBindingList = new List(); this.dictTypeViewModelBindingSource.DataSource = _allBindingList; this.dictTypeViewModelBindingSource.ResetBindings(false); this.dictGroupTreeListCtrl1.SetBindingData(); } private async void DictTreeListCtrl1_RloadEvent(long groupId) { _groupId = groupId; var alllist = await _bll.GetByGroupID(groupId); _allBindingList.Clear(); if (alllist != null) { foreach (var item in alllist) { _allBindingList.Add(new DictTypeViewModel(item)); } } this.dictTypeViewModelBindingSource.ResetBindings(false); } //添加字典类型 private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddDictTypeDlg(); var groupId = this.dictGroupTreeListCtrl1.GetCurrentGroupID(); if (groupId <= 0) { MessageBoxHelper.ShowWarning("请先选择字典组!"); return; } dlg.SetBindingData(groupId); dlg.ReloadDataEvent += async (rhs) => { var id = await BLLFactory.Instance.Insert(rhs); if (id > 0) { rhs.ID = id; _allBindingList.Add(new DictTypeViewModel(await _bll.GetByID(id))); this.dictTypeViewModelBindingSource.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 EditDictTypeDlg(); var type = await BLLFactory.Instance.GetByID(vm.ID); if (type == null) return; dlg.SetBindingData(type); dlg.ReloadDataEvent += async (rhs) => { if (await _bll.Update(rhs)) { vm.Reset(rhs); this.dictTypeViewModelBindingSource.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 BLLFactory.Instance.DeleteByID(currentVm.ID); if (groupresult) { _allBindingList.Remove(currentVm); this.dictTypeViewModelBindingSource.ResetBindings(false); TipFormHelper.ShowSucceed("删除成功!"); } else { TipFormHelper.ShowSucceed("删除失败!"); return; } } //属性选项 private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { if (_allBindingList == null || _allBindingList.Count < 1) return; var row = this.gridView1.GetCurrentViewModel(_allBindingList); if (row == null) return; if (e.Column == this.colDictValue) { var dlg = new SetDictDataDlg(); dlg.SetBindingData(row.ID); dlg.ShowDialog(); } } private void btnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { DictTreeListCtrl1_RloadEvent(_groupId); } } }