Index: Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs
===================================================================
diff -u -r0e314e2189c1989446067712f63ac349020efd51 -r990025a9043b17f7e4845a0ac7349de2032b14af
--- Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs (.../DataGridViewControl.cs) (revision 0e314e2189c1989446067712f63ac349020efd51)
+++ Core/Common/src/Core.Common.Controls/DataGrid/DataGridViewControl.cs (.../DataGridViewControl.cs) (revision 990025a9043b17f7e4845a0ac7349de2032b14af)
@@ -64,6 +64,23 @@
}
///
+ /// Gets or sets a value indicating whether the user is allowed to select more than
+ /// one cell, row, or column of the at a time.
+ ///
+ /// See .
+ public bool MultiSelect
+ {
+ get
+ {
+ return dataGridView.MultiSelect;
+ }
+ set
+ {
+ dataGridView.MultiSelect = value;
+ }
+ }
+
+ ///
/// Adds a new to the with the given data.
///
/// The of the column.
Index: Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs
===================================================================
diff -u -r0e314e2189c1989446067712f63ac349020efd51 -r990025a9043b17f7e4845a0ac7349de2032b14af
--- Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs (.../DataGridViewControlTest.cs) (revision 0e314e2189c1989446067712f63ac349020efd51)
+++ Core/Common/test/Core.Common.Controls.Test/DataGrid/DataGridViewControlTest.cs (.../DataGridViewControlTest.cs) (revision 990025a9043b17f7e4845a0ac7349de2032b14af)
@@ -59,27 +59,30 @@
{
// Setup
using (var form = new Form())
- using (var control = new DataGridViewControl())
{
- // Call
- form.Controls.Add(control);
- form.Show();
+ using (var control = new DataGridViewControl())
+ {
+ // Call
+ form.Controls.Add(control);
+ form.Show();
- var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- // Assert
- Assert.AreEqual(0, dataGridView.ColumnCount);
- Assert.AreEqual(DataGridViewAutoSizeColumnsMode.AllCells, dataGridView.AutoSizeColumnsMode);
- Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, dataGridView.ColumnHeadersDefaultCellStyle.Alignment);
- Assert.AreEqual(DataGridViewEditMode.EditOnEnter, dataGridView.EditMode);
- Assert.AreEqual(DataGridViewColumnHeadersHeightSizeMode.AutoSize, dataGridView.ColumnHeadersHeightSizeMode);
- Assert.AreEqual(DataGridViewRowHeadersWidthSizeMode.DisableResizing, dataGridView.RowHeadersWidthSizeMode);
- Assert.IsFalse(dataGridView.AllowUserToResizeColumns);
- Assert.IsFalse(dataGridView.AllowUserToResizeRows);
- Assert.IsFalse(dataGridView.AllowUserToAddRows);
- Assert.IsFalse(dataGridView.AllowUserToDeleteRows);
- Assert.IsFalse(dataGridView.AutoGenerateColumns);
- Assert.IsTrue(dataGridView.StandardTab);
+ // Assert
+ Assert.AreEqual(0, dataGridView.ColumnCount);
+ Assert.AreEqual(DataGridViewAutoSizeColumnsMode.AllCells, dataGridView.AutoSizeColumnsMode);
+ Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, dataGridView.ColumnHeadersDefaultCellStyle.Alignment);
+ Assert.AreEqual(DataGridViewEditMode.EditOnEnter, dataGridView.EditMode);
+ Assert.AreEqual(DataGridViewColumnHeadersHeightSizeMode.AutoSize, dataGridView.ColumnHeadersHeightSizeMode);
+ Assert.AreEqual(DataGridViewRowHeadersWidthSizeMode.DisableResizing, dataGridView.RowHeadersWidthSizeMode);
+ Assert.IsFalse(dataGridView.AllowUserToResizeColumns);
+ Assert.IsFalse(dataGridView.AllowUserToResizeRows);
+ Assert.IsFalse(dataGridView.AllowUserToAddRows);
+ Assert.IsFalse(dataGridView.AllowUserToDeleteRows);
+ Assert.IsFalse(dataGridView.AutoGenerateColumns);
+ Assert.IsTrue(dataGridView.StandardTab);
+ Assert.IsTrue(dataGridView.MultiSelect);
+ }
}
}
@@ -88,29 +91,34 @@
{
// Setup
using (var form = new Form())
- using (var control = new DataGridViewControl())
- {
- form.Controls.Add(control);
- form.Show();
+ {
+ using (var control = new DataGridViewControl())
+ {
+ form.Controls.Add(control);
+ form.Show();
- var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject;
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- // Make sure the cell is not in edit mode when setting the current cell.
- dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically;
+ // Make sure the cell is not in edit mode when setting the current cell.
+ dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically;
- control.AddTextBoxColumn("Test property", "Test header");
+ control.AddTextBoxColumn("Test property", "Test header");
- dataGridView.DataSource = new[] { "" };
+ dataGridView.DataSource = new[]
+ {
+ ""
+ };
- DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0];
- dataGridView.CurrentCell = dataGridViewCell;
- dataGridView.BeginEdit(false);
+ DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0];
+ dataGridView.CurrentCell = dataGridViewCell;
+ dataGridView.BeginEdit(false);
- // Call
- bool editMode = control.IsCurrentCellInEditMode;
+ // Call
+ bool editMode = control.IsCurrentCellInEditMode;
- // Assert
- Assert.IsTrue(editMode);
+ // Assert
+ Assert.IsTrue(editMode);
+ }
}
}
@@ -119,50 +127,82 @@
{
// Setup
using (var form = new Form())
- using (var control = new DataGridViewControl())
{
- form.Controls.Add(control);
- form.Show();
+ using (var control = new DataGridViewControl())
+ {
+ form.Controls.Add(control);
+ form.Show();
- var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject;
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- // Make sure the cell is not in edit mode when setting the current cell.
- dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically;
+ // Make sure the cell is not in edit mode when setting the current cell.
+ dataGridView.EditMode = DataGridViewEditMode.EditProgrammatically;
- control.AddTextBoxColumn("Test property", "Test header");
+ control.AddTextBoxColumn("Test property", "Test header");
- dataGridView.DataSource = new[] { "" };
+ dataGridView.DataSource = new[]
+ {
+ ""
+ };
- DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0];
- dataGridView.CurrentCell = dataGridViewCell;
+ DataGridViewCell dataGridViewCell = dataGridView.Rows[0].Cells[0];
+ dataGridView.CurrentCell = dataGridViewCell;
- // Call
- bool editMode = control.IsCurrentCellInEditMode;
+ // Call
+ bool editMode = control.IsCurrentCellInEditMode;
- // Assert
- Assert.IsFalse(editMode);
+ // Assert
+ Assert.IsFalse(editMode);
+ }
}
}
[Test]
+ [TestCase(true)]
+ [TestCase(false)]
+ public void MultiSelect_MultiSelectSetToFalse_ReturnsFalse(bool multiSelect)
+ {
+ // Setup
+ using (var form = new Form())
+ {
+ using (var control = new DataGridViewControl())
+ {
+ form.Controls.Add(control);
+ form.Show();
+
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
+
+ // Call
+ control.MultiSelect = multiSelect;
+
+ // Assert
+ Assert.AreEqual(multiSelect, control.MultiSelect);
+ Assert.AreEqual(multiSelect, dataGridView.MultiSelect);
+ }
+ }
+ }
+
+ [Test]
public void DataSource_Always_ReturnsDataGridViewSource()
{
// Setup
using (var form = new Form())
- using (var control = new DataGridViewControl())
{
- form.Controls.Add(control);
- form.Show();
+ using (var control = new DataGridViewControl())
+ {
+ form.Controls.Add(control);
+ form.Show();
- var dataSource = new object();
+ var dataSource = new object();
- var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject;
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- // Call
- dataGridView.DataSource = dataSource;
+ // Call
+ dataGridView.DataSource = dataSource;
- // Assert
- Assert.AreSame(dataSource, dataGridView.DataSource);
+ // Assert
+ Assert.AreSame(dataSource, dataGridView.DataSource);
+ }
}
}
@@ -173,32 +213,34 @@
{
// Setup
using (var form = new Form())
- using (var control = new DataGridViewControl())
{
- var propertyName = "PropertyName";
- var headerText = "HeaderText";
-
- form.Controls.Add(control);
- form.Show();
+ using (var control = new DataGridViewControl())
+ {
+ var propertyName = "PropertyName";
+ var headerText = "HeaderText";
- var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
+ form.Controls.Add(control);
+ form.Show();
- // Precondition
- Assert.AreEqual(0, dataGridView.ColumnCount);
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- // Call
- control.AddTextBoxColumn(propertyName, headerText, readOnly);
+ // Precondition
+ Assert.AreEqual(0, dataGridView.ColumnCount);
- // Assert
- Assert.AreEqual(1, dataGridView.ColumnCount);
+ // Call
+ control.AddTextBoxColumn(propertyName, headerText, readOnly);
- DataGridViewTextBoxColumn columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0];
- Assert.AreEqual(propertyName, columnData.DataPropertyName);
- Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name);
- Assert.AreEqual(headerText, columnData.HeaderText);
- Assert.AreEqual(readOnly, columnData.ReadOnly);
- Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode);
- Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment);
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
+
+ DataGridViewTextBoxColumn columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(propertyName, columnData.DataPropertyName);
+ Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name);
+ Assert.AreEqual(headerText, columnData.HeaderText);
+ Assert.AreEqual(readOnly, columnData.ReadOnly);
+ Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode);
+ Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment);
+ }
}
}
@@ -209,37 +251,39 @@
{
// Setup
using (var form = new Form())
- using (var control = new DataGridViewControl())
{
- var propertyName = "PropertyName";
- var headerText = "HeaderText";
+ using (var control = new DataGridViewControl())
+ {
+ var propertyName = "PropertyName";
+ var headerText = "HeaderText";
- form.Controls.Add(control);
- form.Show();
+ form.Controls.Add(control);
+ form.Show();
- var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject;
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
- var minimumWidth = 100;
- var format = "1/#,#";
+ var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
+ var minimumWidth = 100;
+ var format = "1/#,#";
- // Precondition
- Assert.AreEqual(0, dataGridView.ColumnCount);
+ // Precondition
+ Assert.AreEqual(0, dataGridView.ColumnCount);
- // Call
- control.AddTextBoxColumn(propertyName, headerText, readOnly, autoSizeMode, minimumWidth, format);
+ // Call
+ control.AddTextBoxColumn(propertyName, headerText, readOnly, autoSizeMode, minimumWidth, format);
- // Assert
- Assert.AreEqual(1, dataGridView.ColumnCount);
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
- DataGridViewTextBoxColumn columnData = (DataGridViewTextBoxColumn)dataGridView.Columns[0];
- Assert.AreEqual(propertyName, columnData.DataPropertyName);
- Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name);
- Assert.AreEqual(headerText, columnData.HeaderText);
- Assert.AreEqual(readOnly, columnData.ReadOnly);
- Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode);
- Assert.AreEqual(minimumWidth, columnData.MinimumWidth);
- Assert.AreEqual(format, columnData.DefaultCellStyle.Format);
+ DataGridViewTextBoxColumn columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(propertyName, columnData.DataPropertyName);
+ Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name);
+ Assert.AreEqual(headerText, columnData.HeaderText);
+ Assert.AreEqual(readOnly, columnData.ReadOnly);
+ Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode);
+ Assert.AreEqual(minimumWidth, columnData.MinimumWidth);
+ Assert.AreEqual(format, columnData.DefaultCellStyle.Format);
+ }
}
}
@@ -248,31 +292,33 @@
{
// Setup
using (var form = new Form())
- using (var control = new DataGridViewControl())
{
- var propertyName = "PropertyName";
- var headerText = "HeaderText";
+ using (var control = new DataGridViewControl())
+ {
+ var propertyName = "PropertyName";
+ var headerText = "HeaderText";
- form.Controls.Add(control);
- form.Show();
+ form.Controls.Add(control);
+ form.Show();
- var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject;
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- // Precondition
- Assert.AreEqual(0, dataGridView.ColumnCount);
+ // Precondition
+ Assert.AreEqual(0, dataGridView.ColumnCount);
- // Call
- control.AddCheckBoxColumn(propertyName, headerText);
+ // Call
+ control.AddCheckBoxColumn(propertyName, headerText);
- // Assert
- Assert.AreEqual(1, dataGridView.ColumnCount);
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
- DataGridViewCheckBoxColumn columnData = (DataGridViewCheckBoxColumn) dataGridView.Columns[0];
- Assert.AreEqual(propertyName, columnData.DataPropertyName);
- Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name);
- Assert.AreEqual(headerText, columnData.HeaderText);
- Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode);
- Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment);
+ DataGridViewCheckBoxColumn columnData = (DataGridViewCheckBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(propertyName, columnData.DataPropertyName);
+ Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name);
+ Assert.AreEqual(headerText, columnData.HeaderText);
+ Assert.AreEqual(DataGridViewAutoSizeColumnMode.AllCells, columnData.AutoSizeMode);
+ Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment);
+ }
}
}
@@ -281,154 +327,162 @@
{
// Setup
using (var form = new Form())
- using (var control = new DataGridViewControl())
{
- var propertyName = "PropertyName";
- var headerText = "HeaderText";
+ using (var control = new DataGridViewControl())
+ {
+ var propertyName = "PropertyName";
+ var headerText = "HeaderText";
- form.Controls.Add(control);
- form.Show();
+ form.Controls.Add(control);
+ form.Show();
- var dataGridView = (DataGridView)new ControlTester("dataGridView").TheObject;
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
+ var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
- // Precondition
- Assert.AreEqual(0, dataGridView.ColumnCount);
+ // Precondition
+ Assert.AreEqual(0, dataGridView.ColumnCount);
- // Call
- control.AddCheckBoxColumn(propertyName, headerText, autoSizeMode);
+ // Call
+ control.AddCheckBoxColumn(propertyName, headerText, autoSizeMode);
- // Assert
- Assert.AreEqual(1, dataGridView.ColumnCount);
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
- DataGridViewCheckBoxColumn columnData = (DataGridViewCheckBoxColumn)dataGridView.Columns[0];
- Assert.AreEqual(propertyName, columnData.DataPropertyName);
- Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name);
- Assert.AreEqual(headerText, columnData.HeaderText);
- Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode);
- Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment);
+ DataGridViewCheckBoxColumn columnData = (DataGridViewCheckBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(propertyName, columnData.DataPropertyName);
+ Assert.AreEqual(string.Format("column_{0}", propertyName), columnData.Name);
+ Assert.AreEqual(headerText, columnData.HeaderText);
+ Assert.AreEqual(autoSizeMode, columnData.AutoSizeMode);
+ Assert.AreEqual(DataGridViewContentAlignment.MiddleCenter, columnData.HeaderCell.Style.Alignment);
+ }
}
}
[Test]
public void AddComboBoxColumn_AutoSizeModeSet_AddsColumnToDataGridViewWithAutoSizeMode()
{
using (var form = new Form())
- using (var control = new DataGridViewControl())
{
- var propertyName = "PropertyName";
- var headerText = "HeaderText";
+ using (var control = new DataGridViewControl())
+ {
+ var propertyName = "PropertyName";
+ var headerText = "HeaderText";
- form.Controls.Add(control);
- form.Show();
+ form.Controls.Add(control);
+ form.Show();
- var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
- // Precondition
- Assert.AreEqual(0, dataGridView.ColumnCount);
+ // Precondition
+ Assert.AreEqual(0, dataGridView.ColumnCount);
- var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
+ var autoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
- // Call
- control.AddComboBoxColumn