Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs
===================================================================
diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -r6757ae6f6f8f07d3d824b58eccca696ad7e53325
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 6757ae6f6f8f07d3d824b58eccca696ad7e53325)
@@ -167,6 +167,14 @@
UpdateFailureMechanismAssemblyResultControl();
}
+ ///
+ /// Refreshes the data grid in the view.
+ ///
+ protected virtual void RefreshDataGrid()
+ {
+ DataGridViewControl.RefreshDataGridView(false);
+ }
+
private bool HasManualAssemblyResults()
{
return HasSectionResultsHelper.HasManualAssemblyResults(FailureMechanism);
@@ -240,7 +248,7 @@
private void RowUpdated(object sender, EventArgs eventArgs)
{
rowUpdating = true;
- DataGridViewControl.RefreshDataGridView();
+ RefreshDataGrid();
UpdateFailureMechanismAssemblyResultControl();
}
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs
===================================================================
diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -r6757ae6f6f8f07d3d824b58eccca696ad7e53325
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 6757ae6f6f8f07d3d824b58eccca696ad7e53325)
@@ -130,17 +130,19 @@
{
// Setup
const int nameColumnIndex = 0;
+ const int stringColumnIndex = 1;
// Call
using (ShowFailureMechanismResultsView(new ObservableList()))
{
// Assert
DataGridView dataGridView = GetDataGridView();
- Assert.AreEqual(1, dataGridView.ColumnCount);
+ Assert.AreEqual(2, dataGridView.ColumnCount);
Assert.IsInstanceOf(dataGridView.Columns[nameColumnIndex]);
Assert.AreEqual("Test", dataGridView.Columns[nameColumnIndex].HeaderText);
+ Assert.AreEqual("TestString", dataGridView.Columns[stringColumnIndex].HeaderText);
}
}
@@ -501,6 +503,33 @@
}
[Test]
+ public void GivenFailureMechanismResultView_WhenRowUpdated_ThenColumnsDoNotAutoResize()
+ {
+ // Given
+ var sectionResults = new ObservableList
+ {
+ FailureMechanismSectionResultTestFactory.CreateFailureMechanismSectionResult()
+ };
+
+ using (ShowFailureMechanismResultsView(sectionResults))
+ {
+ DataGridView dataGridView = GetDataGridView();
+ var row = (TestRow) dataGridView.Rows[0].DataBoundItem;
+
+ DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[1];
+ row.TestString = "a";
+ int initialWidth = dataGridViewCell.OwningColumn.Width;
+
+ // When
+ row.TestString = "Looong testing value";
+
+ // Then
+ int newWidth = dataGridViewCell.OwningColumn.Width;
+ Assert.AreEqual(initialWidth, newWidth);
+ }
+ }
+
+ [Test]
public void GivenFailureMechanismResultView_WhenResultRemovedAndSectionResultsNotified_ThenEventHandlersDisconnected()
{
// Given
@@ -598,6 +627,7 @@
protected override void AddDataGridColumns()
{
DataGridViewControl.AddTextBoxColumn("Name", "Test", true);
+ DataGridViewControl.AddTextBoxColumn(nameof(TestRow.TestString), "TestString");
}
protected override void UpdateAssemblyResultControl()
@@ -615,11 +645,26 @@
private class TestRow : FailureMechanismSectionResultRow
{
+ private string testString;
+
public TestRow(FailureMechanismSectionResult sectionResult) : base(sectionResult)
{
ColumnStateDefinitions.Add(0, new DataGridViewColumnStateDefinition());
}
+ public string TestString
+ {
+ get
+ {
+ return testString;
+ }
+ set
+ {
+ testString = value;
+ UpdateInternalData();
+ }
+ }
+
public bool Updated { get; private set; }
public void UpdateInternal()