Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs =================================================================== diff -u -rf65694c90375dbbed8fea4db8e7d0873cc659669 -rbf1278c3fe48ed78df58e0e0c6ee59ae710942e9 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs (.../PipingCalculationsView.cs) (revision f65694c90375dbbed8fea4db8e7d0873cc659669) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs (.../PipingCalculationsView.cs) (revision bf1278c3fe48ed78df58e0e0c6ee59ae710942e9) @@ -41,6 +41,8 @@ { private readonly Observer pipingSoilProfilesObserver; private readonly Observer assessmentSectionObserver; + private readonly RecursiveObserver pipingInputObserver; + private readonly RecursiveObserver pipingCalculationObserver; private readonly RecursiveObserver pipingCalculationGroupObserver; private AssessmentSectionBase assessmentSection; private PipingFailureMechanism pipingFailureMechanism; @@ -58,7 +60,9 @@ pipingSoilProfilesObserver = new Observer(UpdateSoilProfileColumn); assessmentSectionObserver = new Observer(UpdateHydraulicBoundaryLocationsColumn); - pipingCalculationGroupObserver = new RecursiveObserver(UpdateDataGridViewDataSource, pg => pg.Children); + pipingInputObserver = new RecursiveObserver(RefreshDataGridView, pcg => pcg.Children.Concat(pcg.Children.OfType().Select(pc => pc.InputParameters))); + pipingCalculationObserver = new RecursiveObserver(RefreshDataGridView, pcg => pcg.Children); + pipingCalculationGroupObserver = new RecursiveObserver(UpdateDataGridViewDataSource, pcg => pcg.Children); } /// @@ -112,11 +116,15 @@ if (pipingCalculationGroup != null) { UpdateDataGridViewDataSource(); + pipingInputObserver.Observable = pipingCalculationGroup; + pipingCalculationObserver.Observable = pipingCalculationGroup; pipingCalculationGroupObserver.Observable = pipingCalculationGroup; } else { dataGridView.DataSource = null; + pipingInputObserver.Observable = null; + pipingCalculationObserver.Observable = null; pipingCalculationGroupObserver.Observable = null; } } @@ -219,6 +227,12 @@ soilProfileColumn.DataSource = GetSoilProfilesDataSource(pipingSoilProfiles); } + private void RefreshDataGridView() + { + dataGridView.Refresh(); + dataGridView.AutoResizeColumns(); + } + private void UpdateDataGridViewDataSource() { dataGridView.DataSource = pipingCalculationGroup.GetPipingCalculations()