namespace HStation.WinFrmUI.Assets { public partial class ValveManageMainPage : DocumentPage { public ValveManageMainPage() { InitializeComponent(); this.PageTitle.Caption = "阀门管理"; this.gridView1.SetNormalView(); this.gridView1.RegistCustomDrawRowIndicator(); this.PageTitle.HeaderSvgImage = this.svgImageCollection1[0]; this.PageTitle.SvgImageSize = new Size(24, 24); this.valveTypeTreeListCtrl1.ReloadEvent += ValveTypeTreeListCtrl1_RloadEvent; } private BLL.AssetsValveMain _bll = null; private List _allBindingList = new List(); //初始化数据 public override void InitialDataSource() { _bll = new BLL.AssetsValveMain(); this.valveTypeTreeListCtrl1.SetBindingData(); this.AssetsValveMainViewModelBindingSource.DataSource = _allBindingList; } private async void ValveTypeTreeListCtrl1_RloadEvent(long SeriesID) { var alllist = await _bll.GetBySeriesID(SeriesID); _allBindingList.Clear(); if (alllist != null) { foreach (var item in alllist) { _allBindingList.Add(new AssetsValveMainViewModel(item)); } } this.AssetsValveMainViewModelBindingSource.ResetBindings(false); } //添加阀门 private void BtnAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new AddAssetsValveMainDlg(); var series = this.valveTypeTreeListCtrl1.GetCurrentSeries(); if (series == null) { MessageBoxHelper.ShowWarning("请先选择系列!"); return; } dlg.SetBindingData(series.ID); dlg.ReloadDataEvent += async (rhs) => { var id = await _bll.Insert(rhs); if (id > 0) { _allBindingList.Add(new AssetsValveMainViewModel(await _bll.GetByID(id))); this.AssetsValveMainViewModelBindingSource.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 EditAssetsValveMainDlg(); var valve = await _bll.GetByID(vm.ID); if (valve == null) return; dlg.SetBindingData(valve); dlg.ReloadDataEvent += async (rhs) => { if (await _bll.Update(rhs)) { vm.Reset(rhs); this.AssetsValveMainViewModelBindingSource.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.AssetsValveMainViewModelBindingSource.ResetBindings(false); TipFormHelper.ShowSucceed("删除成功!"); } else { TipFormHelper.ShowSucceed("删除失败!"); return; } } private async void barBtnValveLine_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var currentVm = this.gridView1.GetCurrentViewModel(_allBindingList); if (currentVm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } var guid = new PageGuid() { Function = "阀门水头损失曲线", TagName = currentVm.ID.ToString(), Modular = "" }; if (!IsExistPage(guid, true)) { var model = await _bll.GetByID(currentVm.ID); if (model == null) { MessageBoxHelper.ShowWarning($"{currentVm.Name}:AssetsValveMainDto is null!"); return; } if (currentVm.ValveType == HStation.Assets.eValveType.TCV) { var page = new HStation.WinFrmUI.PhartRelation.XhsValveMainPhartMinorLossPanel(); page.InitialDataSource(currentVm.ID); guid.Function = "阀门开度系数曲线"; page.PageTitle.Caption = guid.Function; page.PageGuid = guid; CreatePage(page, guid); } else { var page = new HStation.WinFrmUI.PhartRelation.XhsValveMainPhartPanel(); page.InitialDataSource(currentVm.ID); guid.Function = "阀门水头损失曲线"; page.PageTitle.Caption = guid.Function; page.PageGuid = guid; CreatePage(page, guid); } } } //设置默认值 private void barBtnSetDefaultStatus_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { /* var dlg = new SetDefaultStatusDlg(); var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) { MessageBoxHelper.ShowWarning("请选择数据行!"); return; } dlg.SetBindingData(vm.IsDefault); dlg.ReloadDataEvent += async (rhs) => { if (await _bll.UpdateDefaultStatus(vm.ID, rhs)) { vm.Reset(await _bll.GetByID(vm.ID)); this.AssetsValveMainViewModelBindingSource.ResetBindings(false); return true; } return false; }; dlg.ShowDialog();*/ } private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) { var vm = this.gridView1.GetCurrentViewModel(_allBindingList); if (vm == null) return; if (vm.ValveType == HStation.Assets.eValveType.TCV || vm.ValveType == HStation.Assets.eValveType.GPV) { ribbonPageGroup2.Visible = true; return; } ribbonPageGroup2.Visible = false; } //设置系数 private void barBtnSetcoefficient_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var dlg = new SetValveCoefficientDlg(); dlg.SetBindingData(); dlg.ShowDialog(); } } }