| | |
| | | using DevExpress.XtraEditors; |
| | | using DevExpress.XtraBars.Ribbon.Drawing; |
| | | using DevExpress.XtraEditors; |
| | | using DevExpress.XtraMap; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel; |
| | |
| | | InitializeComponent(); |
| | | this.layoutControl1.SetupLayoutControl(); |
| | | this.gridView1.SetLimitView(); |
| | | this.gridView1.RegistCustomDrawCell(); |
| | | this.gridView1.RegistCustomDrawCell(Color.BurlyWood, Color.White); |
| | | this.generalSearchCtrl1.SearchEvent += Search; |
| | | this.generalSearchCtrl1.ClearEvent += Clear; |
| | | this.phartDiagramRelationGridViewCtrl1.SelectDataEvent += SelectData; |
| | | } |
| | | |
| | | public List<AssetsExchangerSingleMatchingViewModel> _allList = null;//所有列表 |
| | | private List<AssetsExchangerSingleMatchingViewModel> _allBindingList = null;//所有绑定列表 |
| | | private AssetsExchangerMainVmo _selected = null;//当前选中 |
| | | |
| | | private AssetsExchangerSingleMatchingViewModel _row; |
| | | private ExchangerMatchingViewModel _viewModel; |
| | | |
| | | private long _curveDbId; |
| | | |
| | | public class ExchangerMatchingViewModel |
| | | { |
| | | public ExchangerMatchingViewModel() |
| | | { |
| | | } |
| | | |
| | | public AssetsExchangerMainVmo Vmo { get; set; } |
| | | public string MatchingCurveDbId { get; set; } |
| | | public List<HydroCurvePointViewModel> MatchingCurve { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 绑定数据 |
| | | /// </summary> |
| | | public async void SetBindingData(string dbId) |
| | | public async void SetBindingData(string dbId, string curveDbId) |
| | | { |
| | | var allList = await BLLFactory<HStation.BLL.AssetsExchangerMain>.Instance.GetAll(); |
| | | _allList = new List<AssetsExchangerSingleMatchingViewModel>(); |
| | |
| | | var item = allList?.Find(x => x.ID == id); |
| | | _selected = item; |
| | | } |
| | | if (long.TryParse(curveDbId, out long curveId)) |
| | | { |
| | | _curveDbId = curveId; |
| | | } |
| | | Search(); |
| | | await Task.Delay(300); |
| | | if (_selected != null) |
| | | { |
| | | if (_allBindingList != null && _allBindingList.Count > 0) |
| | | { |
| | | await Task.Run(() => |
| | | { |
| | | var dataSourceIndex = _allBindingList.FindIndex(x => x.Vmo == _selected); |
| | | if (dataSourceIndex >= 0) |
| | | { |
| | | var rowIndex = this.gridView1.GetRowHandle(dataSourceIndex); |
| | | this.gridView1.FocusedRowHandle = rowIndex; |
| | | } |
| | | }); |
| | | var dataSourceIndex = _allBindingList.FindIndex(x => x.Vmo == _selected); |
| | | if (dataSourceIndex >= 0) |
| | | { |
| | | var rowIndex = this.gridView1.GetRowHandle(dataSourceIndex); |
| | | this.gridView1.FocusedRowHandle = rowIndex; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | /// <summary> |
| | | /// 获取 |
| | | /// </summary> |
| | | public AssetsExchangerMainVmo Get() |
| | | public ExchangerMatchingViewModel Get() |
| | | { |
| | | var vm = this.gridView1.GetFocusedRow() as AssetsExchangerSingleMatchingViewModel; |
| | | if (vm == null) |
| | | { |
| | | return default; |
| | | } |
| | | return vm.Vmo; |
| | | /* var vm = this.gridView1.GetFocusedRow() as AssetsExchangerSingleMatchingViewModel; |
| | | if (vm == null) |
| | | { |
| | | return default; |
| | | } |
| | | _viewModel.Vmo = vm; |
| | | */ |
| | | return _viewModel; |
| | | } |
| | | |
| | | //聚焦改变 |
| | | private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e) |
| | | { |
| | | _viewModel = new ExchangerMatchingViewModel(); |
| | | var row = this.gridView1.GetFocusedRow() as AssetsExchangerSingleMatchingViewModel; |
| | | if (row == null) |
| | | { |
| | | return; |
| | | } |
| | | this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ExchangerMain, row.Vmo.ID); |
| | | _row = row; |
| | | _viewModel.Vmo = row.Vmo; |
| | | this.phartDiagramRelationGridViewCtrl1.SetBindingData(HStation.Assets.DataType.ExchangerMain, row.Vmo.ID, _curveDbId); |
| | | } |
| | | |
| | | //曲线数据关联变化 |
| | | private void SelectData(PhartDiagramRelationExtensionsVmo def) |
| | | { |
| | | if (def != null) |
| | | { |
| | | _viewModel.MatchingCurveDbId = def.ID.ToString(); |
| | | var curve = def.Diagram.GraphList[0].GetFeatPointList(); |
| | | |
| | | |
| | | _viewModel.MatchingCurve = new List<HydroCurvePointViewModel>(); |
| | | foreach (var item in curve) |
| | | { |
| | | _viewModel.MatchingCurve.Add(new HydroCurvePointViewModel(item.X, item.Y)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |