using Yw.WinFrmUI; namespace PBS.WinFrmUI.WE { public partial class WaterUtensilMainPage : DocumentPage { public WaterUtensilMainPage() { InitializeComponent(); this.PageTitle.Caption = "用水器具"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(); this.utensilGroupCtrl1.ReloadEvent += GroupTreeListCtrl1_ReloadEvent; } private PBS.BLL.WE.Utensil _bll = new PBS.BLL.WE.Utensil(); private List _allBindingList = null; /// /// 初始化数据 /// public override void InitialDataSource() { _allBindingList = new List(); this.waterUtensilViewModelBindingSource.DataSource = _allBindingList; this.utensilGroupCtrl1.SetBindingData(); } private async void GroupTreeListCtrl1_ReloadEvent(long groupId) { var alllist = await _bll.GetByGroupID(groupId); _allBindingList.Clear(); if (alllist != null) { foreach (var item in alllist) { _allBindingList.Add(new WaterUtensilViewModel(item)); } } this.waterUtensilViewModelBindingSource.ResetBindings(false); } /// ///绑定数据 /// public async void SetBindingData() { _allBindingList.Clear(); var list = await _bll.GetAll(); if (list != null && list.Count > 0) { foreach (var item in list) { var vm = new WaterUtensilViewModel(item); _allBindingList.Add(vm); } } this.waterUtensilViewModelBindingSource.DataSource = _allBindingList; //this.gridView1.BestFitColumns(); } #region 事件 /// /// 添加 /// private void barBtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_allBindingList == null) return; var dlg = new AddWaterUtensilDlg(); var groupId = this.utensilGroupCtrl1.GetCurrentGroupID(); if (groupId == 0) { MessageBoxHelper.ShowWarning("请先选择系列!"); return; } dlg.SetBindingData(groupId); dlg.VerifyTagNameExistEvent += async (tagname) => { return await _bll.IsExistTagName(tagname); }; dlg.ReloadDataEvent += async (rhs) => { rhs.SortCode = _allBindingList.Count == 0 ? 1 : _allBindingList.Max(x => x.SortCode) + 1; rhs.ID = await _bll.Insert(rhs); if (rhs.ID > 0) { var vm = new WaterUtensilViewModel(rhs); _allBindingList.Add(vm); this.waterUtensilViewModelBindingSource.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) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new EditWaterUtensilDlg(); var model = await _bll.GetByID(vm.ID); if (model == null) return; dlg.SetBindingData(model); dlg.VerifyTagNameExistEvent += async (tagname, id) => { return await _bll.IsExistTagNameExceptID(tagname, id); }; dlg.ReloadDataEvent += async (rhs) => { var bol = await _bll.Update(rhs); if (bol) { vm.Reset(rhs); this.gridView1.RefreshRow(this.gridView1.FocusedRowHandle); } return bol; }; dlg.ShowDialog(); } /// /// 删除 /// private async void barBtnDelete_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) return; if (MessageBoxHelper.IsClickOk($"确认删除数据行?")) return; var result = await _bll.DeleteByID(vm.ID); if (result) { _allBindingList.Remove(vm); this.gridControl1.RefreshDataSource(); TipFormHelper.ShowSucceed("删除成功!"); } else { TipFormHelper.ShowError("删除失败!"); return; } this.waterUtensilViewModelBindingSource.ResetBindings(false); } /// /// 详情 /// private void barBtnDetail_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { MessageBoxHelper.ShowInfo("待补充"); } /// /// 标签名称 /// private void barBtnUpdateTagName_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { /* var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new SetTagNameDlg(); dlg.SetBindingData(vm.TagName); dlg.ReloadDataEvent += (tagName) => { var result = _bll.UpdateTagName(vm.UserID, tagName); if (result) { vm.TagName = tagName; this.gridView1.RefreshRow(this.gridView1.FocusedRowHandle); } return result; }; dlg.ShowDialog();*/ } /// /// 排序码 /// private void barBtnUpdateSortCode_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { /* var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new SetSortCodeDlg(); dlg.SetBindingData(vm.SortCode); dlg.ReloadDataEvent += (sortCode) => { var result = _bll.UpdateSortCode(vm.UserID, sortCode); if (result) { vm.SortCode = sortCode; this.currentViewModelBindingSource.ResetBindings(false); } return result; }; dlg.ShowDialog();*/ } /// /// 使用状态 /// private void barBtnUpdateUseStatus_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { /* var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var dlg = new SetUseStatusDlg(); dlg.SetBindingData(vm.UseStatus); dlg.ReloadDataEvent += (useStatus) => { var result = _bll.UpdateUseStatus(vm.UserID, (int)useStatus); if (result) { vm.UseStatus = useStatus; this.gridView1.RefreshRow(this.gridView1.FocusedRowHandle); } return result; }; dlg.ShowDialog();*/ } /// /// 检索 /// private void barCekSearch_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (this.gridView1.IsFindPanelVisible) this.gridView1.HideFindPanel(); else this.gridView1.ShowFindPanel(); } /// /// 刷新数据 /// private void barBtnRefresh_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { SetBindingData(); } #endregion 事件 } }