Index: Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs =================================================================== diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -r4edccb5b18b90b76f2825a72836ba9bffe4770a3 --- Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs (.../DataGridViewControl.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb) +++ Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs (.../DataGridViewControl.cs) (revision 4edccb5b18b90b76f2825a72836ba9bffe4770a3) @@ -354,12 +354,17 @@ } /// - /// Refreshes the and performs an . + /// Refreshes the . /// - public void RefreshDataGridView() + /// Indicator whether the column widths in the control should automatically be resized. + public void RefreshDataGridView(bool shouldAutoResizeColumns = true) { dataGridView.Refresh(); - AutoResizeColumns(); + + if (shouldAutoResizeColumns) + { + AutoResizeColumns(); + } } /// Index: Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs =================================================================== diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -r4edccb5b18b90b76f2825a72836ba9bffe4770a3 --- Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs (.../DataGridViewControlTest.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb) +++ Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs (.../DataGridViewControlTest.cs) (revision 4edccb5b18b90b76f2825a72836ba9bffe4770a3) @@ -500,7 +500,7 @@ } [Test] - public void RefreshDataGridView_AddLongerText_IncreasesColumnWidth() + public void RefreshDataGridView_ShouldAutoResizeTrueAndLongerText_IncreasesColumnWidth() { using (var form = new Form()) using (var control = new DataGridViewControl()) @@ -531,7 +531,7 @@ } [Test] - public void RefreshDataGridView_AddShorterText_DecreasesColumnWidth() + public void RefreshDataGridView_ShouldAutoResizeTrueAndShorterText_DecreasesColumnWidth() { using (var form = new Form()) using (var control = new DataGridViewControl()) @@ -562,6 +562,68 @@ } [Test] + public void RefreshDataGridView_ShouldAutoResizeFalseAndLongerText_SameColumnWidth() + { + using (var form = new Form()) + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); + + control.AddTextBoxColumn(nameof(TestDataGridViewMultipleColumnsRow.TestString), "Test"); + var dataSource = new[] + { + new TestDataGridViewMultipleColumnsRow(RoundedDouble.NaN, "Test") + }; + control.SetDataSource(dataSource); + + DataGridViewCell dataGridViewCell = control.GetCell(0, 0); + control.SetCurrentCell(dataGridViewCell); + + int initialWidth = dataGridViewCell.OwningColumn.Width; + dataSource[0].TestString = "This is a long textwegawegwegwetawergawegawegtwaegwaeg."; + + // Call + control.RefreshDataGridView(false); + + // Assert + int longTextWidth = dataGridViewCell.OwningColumn.Width; + Assert.AreEqual(longTextWidth, initialWidth); + } + } + + [Test] + public void RefreshDataGridView_ShouldAutoResizeFalseAndShorterText_SameColumnWidth() + { + using (var form = new Form()) + using (var control = new DataGridViewControl()) + { + form.Controls.Add(control); + form.Show(); + + control.AddTextBoxColumn(nameof(TestDataGridViewMultipleColumnsRow.TestString), "Test"); + var dataSource = new[] + { + new TestDataGridViewMultipleColumnsRow(RoundedDouble.NaN, "This is a long textwegawegwegwetawergawegawegtwaegwaeg.") + }; + control.SetDataSource(dataSource); + + DataGridViewCell dataGridViewCell = control.GetCell(0, 0); + control.SetCurrentCell(dataGridViewCell); + + int initialWidth = dataGridViewCell.OwningColumn.Width; + dataSource[0].TestString = "Test"; + + // Call + control.RefreshDataGridView(false); + + // Assert + int newTextWidth = dataGridViewCell.OwningColumn.Width; + Assert.AreEqual(newTextWidth, initialWidth); + } + } + + [Test] public void AutoResizeColumns_AddLongerText_IncreasesColumnWidth() { using (var form = new Form())