Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs =================================================================== diff -u -r317f706374960c8be47bff9fdcc02ce53ff7180d -r2e535021fed6facc28e4663d1d316f8241004e72 --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision 317f706374960c8be47bff9fdcc02ce53ff7180d) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision 2e535021fed6facc28e4663d1d316f8241004e72) @@ -59,6 +59,7 @@ private IEnumerable scenarioRows; private bool selectConfigurationTypeComboBoxUpdating; + private FailureMechanismSection selectedFailureMechanismSection; /// /// Creates a new instance of . @@ -222,13 +223,13 @@ private void UpdateDataGridViewDataSource() { - if (!(listBox.SelectedItem is FailureMechanismSection failureMechanismSection)) + if (selectedFailureMechanismSection == null) { dataGridViewControl.SetDataSource(null); return; } - scenarioRows = GetScenarioRows(failureMechanismSection); + scenarioRows = GetScenarioRows(); dataGridViewControl.SetDataSource(scenarioRows); } @@ -245,6 +246,7 @@ private void ListBoxOnSelectedValueChanged(object sender, EventArgs e) { + selectedFailureMechanismSection = listBox.SelectedItem as FailureMechanismSection; UpdateDataGridViewDataSource(); } @@ -254,19 +256,19 @@ dataGridViewControl.RefreshDataGridView(); } - private IEnumerable GetScenarioRows(FailureMechanismSection failureMechanismSection) + private IEnumerable GetScenarioRows() { - IEnumerable lineSegments = Math2D.ConvertPointsToLineSegments(failureMechanismSection.Points); + IEnumerable lineSegments = Math2D.ConvertPointsToLineSegments(selectedFailureMechanismSection.Points); return failureMechanism.ScenarioConfigurationType == PipingScenarioConfigurationType.SemiProbabilistic - ? GetSemiProbabilisticPipingScenarioRows(failureMechanismSection, lineSegments) + ? GetSemiProbabilisticPipingScenarioRows(lineSegments) : GetProbabilisticPipingScenarioRows(lineSegments); } - private IEnumerable GetSemiProbabilisticPipingScenarioRows(FailureMechanismSection failureMechanismSection, IEnumerable lineSegments) + private IEnumerable GetSemiProbabilisticPipingScenarioRows(IEnumerable lineSegments) { return GetScenarios(lineSegments) - .Select(pc => new SemiProbabilisticPipingScenarioRow(pc, failureMechanism, failureMechanismSection, assessmentSection)) + .Select(pc => new SemiProbabilisticPipingScenarioRow(pc, failureMechanism, selectedFailureMechanismSection, assessmentSection)) .ToList(); }