namespace HStation.WinFrmUI { public partial class PumpMatchingCtrl : DevExpress.XtraEditors.XtraUserControl { public PumpMatchingCtrl() { InitializeComponent(); this.gridView1.SetNormalView(30); this.gridView1.OptionsView.ShowDetailButtons = true; this.gridView1.OptionsView.ShowGroupPanel = false; } private List _allBindingList = new List(); /// /// 点击事件 /// public event Action RowClickEvent; public void SetBindingData(List pumpMatchingViewModel) { if (pumpMatchingViewModel != null) { foreach (var item in pumpMatchingViewModel) { _allBindingList.Add(new PumpFormViewModel(item)); } } this.pumpFormViewModelBindingSource.DataSource = _allBindingList; } public async Task> SetMatching(List pumpMatchingViewModel, List pumpMainVmos) { var finishList = new List(); if (pumpMatchingViewModel == null) return null; foreach (var item in pumpMatchingViewModel) { var result = await AsstesAutoMatchingHelper.PumpMatching(item, pumpMainVmos); if (result != null) { finishList.Add(result); } else { finishList.Add(item); } } _allBindingList.Clear(); foreach (var item in finishList) { _allBindingList.Add(new PumpFormViewModel(item)); } this.pumpFormViewModelBindingSource.ResetBindings(false); return finishList; } //行点击事件 private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { var row = this.gridView1.GetCurrentViewModel(_allBindingList); if (row == null) { return; } this.RowClickEvent?.Invoke(row.Code); } } }