Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs =================================================================== diff -u -rdc5ebf365fdcabf23a0febcc2cbeecce1efa1502 -r6f96b9e0a720cda453d3402f16103b27523b28a1 --- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs (.../PipingCalculationsView.cs) (revision dc5ebf365fdcabf23a0febcc2cbeecce1efa1502) +++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Views/PipingCalculationsView.cs (.../PipingCalculationsView.cs) (revision 6f96b9e0a720cda453d3402f16103b27523b28a1) @@ -19,10 +19,14 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using Core.Common.Base.Data; +using Core.Common.Controls.DataGrid; using Core.Common.Controls.Views; +using Ringtoets.Common.Data; +using Ringtoets.HydraRing.Data; using Ringtoets.Piping.Data; using Ringtoets.Piping.Forms.Properties; @@ -33,7 +37,9 @@ /// public partial class PipingCalculationsView : UserControl, IView { + private AssessmentSectionBase assessmentSection; private PipingCalculationGroup pipingCalculationGroup; + private DataGridViewComboBoxColumn hydraulicBoundaryLocationColumn; /// /// Creates a new instance of the class. @@ -62,6 +68,27 @@ } } + /// + /// Gets or sets the assessment section. + /// + public AssessmentSectionBase AssessmentSection + { + get + { + return assessmentSection; + } + set + { + assessmentSection = value; + + hydraulicBoundaryLocationColumn.DataSource = assessmentSection != null && assessmentSection.HydraulicBoundaryDatabase != null + ? assessmentSection.HydraulicBoundaryDatabase.Locations + .Select(hbl => new DataGridViewComboBoxItemWrapper(hbl)) + .ToList() + : GetDefaultHydraulicBoundaryLocationsDataSource(); + } + } + private void InitializeDataGridView() { var nameColumn = new DataGridViewTextBoxColumn @@ -80,12 +107,15 @@ AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells }; - var hydraulicBoundaryLocationColumn = new DataGridViewTextBoxColumn + hydraulicBoundaryLocationColumn = new DataGridViewComboBoxColumn { DataPropertyName = "HydraulicBoundaryLocation", HeaderText = Resources.PipingInput_HydraulicBoundaryLocation_DisplayName, Name = "column_HydraulicBoundaryLocation", - AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells + AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells, + ValueMember = "This", + DisplayMember = "DisplayName", + DataSource = GetDefaultHydraulicBoundaryLocationsDataSource() }; var dampingFactorExitMeanColumn = new DataGridViewTextBoxColumn @@ -124,6 +154,14 @@ dataGridView.Columns.AddRange(nameColumn, soilProfileColumn, hydraulicBoundaryLocationColumn, dampingFactorExitMeanColumn, phreaticLevelExitMeanColumn, entryPointLColumn, exitPointLColumn); } + private static List> GetDefaultHydraulicBoundaryLocationsDataSource() + { + return new List> + { + new DataGridViewComboBoxItemWrapper(null) + }; + } + private class PipingCalculationRow { private readonly PipingCalculation pipingCalculation; @@ -151,14 +189,16 @@ } } - public string HydraulicBoundaryLocation + public DataGridViewComboBoxItemWrapper HydraulicBoundaryLocation { get { - var hydraulicBoundaryLocation = pipingCalculation.InputParameters.HydraulicBoundaryLocation; - - return hydraulicBoundaryLocation != null ? hydraulicBoundaryLocation.Name : string.Empty; + return new DataGridViewComboBoxItemWrapper(pipingCalculation.InputParameters.HydraulicBoundaryLocation); } + set + { + pipingCalculation.InputParameters.HydraulicBoundaryLocation = value.WrappedObject; + } } public RoundedDouble DampingFactorExitMean