Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsCalculationsView.cs =================================================================== diff -u -r008d97db20107c50db05a25767a4baa4edad7944 -rbe052b298fabacb80de8f62c80abdc996c95f79a --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsCalculationsView.cs (.../GrassCoverErosionInwardsCalculationsView.cs) (revision 008d97db20107c50db05a25767a4baa4edad7944) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Forms/Views/GrassCoverErosionInwardsCalculationsView.cs (.../GrassCoverErosionInwardsCalculationsView.cs) (revision be052b298fabacb80de8f62c80abdc996c95f79a) @@ -35,7 +35,6 @@ using Riskeer.Common.Forms.ChangeHandlers; using Riskeer.Common.Forms.Helpers; using Riskeer.Common.Forms.PresentationObjects; -using Riskeer.Common.IO.DikeProfiles; using Riskeer.GrassCoverErosionInwards.Data; using Riskeer.GrassCoverErosionInwards.Forms.PresentationObjects; using Riskeer.GrassCoverErosionInwards.Forms.Properties; @@ -188,16 +187,16 @@ Resources.DikeProfile_DisplayName, null, nameof(DataGridViewComboBoxItemWrapper.This), - nameof(DataGridViewComboBoxItemWrapper.DisplayName)); + nameof(DataGridViewComboBoxItemWrapper.DisplayName)); dataGridViewControl.AddCheckBoxColumn(nameof(GrassCoverErosionInwardsCalculationRow.UseBreakWater), Resources.GrassCoverErosionInwardsCalculation_Use_Dam); - dataGridViewControl.AddComboBoxColumn>( + dataGridViewControl.AddComboBoxColumn>( nameof(GrassCoverErosionInwardsCalculationRow.BreakWaterType), Resources.GrassCoverErosionInwardsCalculation_Damtype, null, - nameof(DataGridViewComboBoxItemWrapper.This), - nameof(DataGridViewComboBoxItemWrapper.DisplayName)); + nameof(DataGridViewComboBoxItemWrapper.This), + nameof(DataGridViewComboBoxItemWrapper.DisplayName)); dataGridViewControl.AddTextBoxColumn( nameof(GrassCoverErosionInwardsCalculationRow.BreakWaterHeight), @@ -281,7 +280,7 @@ private void UpdateDikeProfilesColumn() { - var column = (DataGridViewComboBoxColumn)dataGridViewControl.GetColumnFromIndex(selectableDikeProfileColumnIndex); + var column = (DataGridViewComboBoxColumn) dataGridViewControl.GetColumnFromIndex(selectableDikeProfileColumnIndex); using (new SuspendDataGridViewColumnResizes(column)) { @@ -294,14 +293,26 @@ private void FillAvailableDikeProfilesList(DataGridViewRow dataGridViewRow) { - var rowData = (GrassCoverErosionInwardsCalculationRow) dataGridViewRow.DataBoundItem; - IEnumerable locations = GetSelectableHydraulicBoundaryLocationsForCalculation(rowData.GrassCoverErosionInwardsCalculationScenario.InputParameters.); - - var cell = (DataGridViewComboBoxCell)dataGridViewRow.Cells[selectableHydraulicBoundaryLocationColumnIndex]; - DataGridViewComboBoxItemWrapper[] dataGridViewComboBoxItemWrappers = GetSelectableHydraulicBoundaryLocationsDataSource(locations).ToArray(); + var cell = (DataGridViewComboBoxCell) dataGridViewRow.Cells[selectableHydraulicBoundaryLocationColumnIndex]; + DataGridViewComboBoxItemWrapper[] dataGridViewComboBoxItemWrappers = GetSelectableDikeProfileDataSource(grassCoverErosionInwardsFailureMechanism.DikeProfiles).ToArray(); SetItemsOnObjectCollection(cell.Items, dataGridViewComboBoxItemWrappers); } + private List> GetSelectableDikeProfileDataSource(IEnumerable selectableDikeProfiles = null) + { + var dataGridViewComboBoxItemWrappers = new List> + { + new DataGridViewComboBoxItemWrapper(null) + }; + + if (selectableDikeProfiles != null) + { + dataGridViewComboBoxItemWrappers.AddRange(selectableDikeProfiles.Select(dp => new DataGridViewComboBoxItemWrapper(dp))); + } + + return dataGridViewComboBoxItemWrappers; + } + private static void SetItemsOnObjectCollection(DataGridViewComboBoxCell.ObjectCollection objectCollection, object[] comboBoxItems) { objectCollection.Clear(); @@ -391,7 +402,7 @@ using (new SuspendDataGridViewColumnResizes(selectableBreakWaterTypesColumn)) { - SetItemsOnObjectCollection(selectableDikeProfileColumn.Items, breakWaterTypes); + SetItemsOnObjectCollection(selectableBreakWaterTypesColumn.Items, breakWaterTypes); } }