Obtain the selected cells in the DataGridView control.
UseSelectedCellsAttribute.
Note: |
You can use the AreAllCellsSelected method to avoid displaying cells with large amounts of data. |
Copy code in Visual BasicPrivate Sub selectedCellsButton_Click( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles selectedCellsButton.Click
Dim selectedCellCount As Integer = _
dataGridView1.GetCellCount(DataGridViewElementStates.Selected)
If selectedCellCount > 0 Then
If dataGridView1.AreAllCellsSelected(True) Then
MessageBox.Show("All cells are selected", "Selected Cells")
Else
Dim sb As New System.Text.StringBuilder()
Dim i As Integer
For i = 0 To selectedCellCount - 1
sb.Append("Row: ")
sb.Append(dataGridView1.SelectedCells(i).RowIndex _
.ToString())
sb.Append(", Column: ")
sb.Append(dataGridView1.SelectedCells(i).ColumnIndex _
.ToString())
sb.Append(Environment.NewLine)
Next i
sb.Append("Total: " + selectedCellCount.ToString())
MessageBox.Show(sb.ToString(), "Selected Cells")
End If
End If
End Sub
C # copy codeprivate void selectedCellsButton_Click(object sender, System.EventArgs e)
{
Int32 selectedCellCount =
dataGridView1.GetCellCount(DataGridViewElementStates.Selected);
if (selectedCellCount > 0)
{
if (dataGridView1.AreAllCellsSelected(true))
{
MessageBox.Show("All cells are selected", "Selected Cells");
}
else
{
System.Text.StringBuilder sb =
new System.Text.StringBuilder();
for (int i = 0;
i < selectedCellCount; i++)
{
sb.Append("Row: ");
sb.Append(dataGridView1.SelectedCells[i].RowIndex
.ToString());
sb.Append(", Column: ");
sb.Append(dataGridView1.SelectedCells[i].ColumnIndex
.ToString());
sb.Append(Environment.NewLine);
}
sb.Append("Total: " + selectedCellCount.ToString());
MessageBox.Show(sb.ToString(), "Selected Cells");
}
}
}
Obtain the rows selected in the DataGridView control.
UseSelectedRowsAttribute. To enable the user to select rows, you must set the SelectionMode attribute to FullRowSelect or RowHeaderSelect.
Copy code in Visual BasicPrivate Sub selectedRowsButton_Click( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles selectedRowsButton.Click
Dim selectedRowCount As Integer = _
dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected)
If selectedRowCount > 0 Then
Dim sb As New System.Text.StringBuilder()
Dim i As Integer
For i = 0 To selectedRowCount - 1
sb.Append("Row: ")
sb.Append(dataGridView1.SelectedRows(i).Index.ToString())
sb.Append(Environment.NewLine)
Next i
sb.Append("Total: " + selectedRowCount.ToString())
MessageBox.Show(sb.ToString(), "Selected Rows")
End If
End Sub
C # copy codeprivate void selectedRowsButton_Click(object sender, System.EventArgs e)
{
Int32 selectedRowCount =
dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
if (selectedRowCount > 0)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0; i < selectedRowCount; i++)
{
sb.Append("Row: ");
sb.Append(dataGridView1.SelectedRows[i].Index.ToString());
sb.Append(Environment.NewLine);
}
sb.Append("Total: " + selectedRowCount.ToString());
MessageBox.Show(sb.ToString(), "Selected Rows");
}
}
Obtain the columns selected in the DataGridView control.
UseSelectedColumnsAttribute. To enable the user to select columns, you mustSelectionModeSet the attribute to FullColumnSelect or ColumnHeaderSelect.
Copy code in Visual BasicPrivate Sub selectedColumnsButton_Click( _
ByVal sender As Object, ByVal e As System.EventArgs) _
Handles selectedColumnsButton.Click
Dim selectedColumnCount As Integer = dataGridView1.Columns _
.GetColumnCount(DataGridViewElementStates.Selected)
If selectedColumnCount > 0 Then
Dim sb As New System.Text.StringBuilder()
Dim i As Integer
For i = 0 To selectedColumnCount - 1
sb.Append("Column: ")
sb.Append(dataGridView1.SelectedColumns(i).Index.ToString())
sb.Append(Environment.NewLine)
Next i
sb.Append("Total: " + selectedColumnCount.ToString())
MessageBox.Show(sb.ToString(), "Selected Columns")
End If
End Sub
C # copy codeprivate void selectedColumnsButton_Click(object sender, System.EventArgs e)
{
Int32 selectedColumnCount = dataGridView1.Columns
.GetColumnCount(DataGridViewElementStates.Selected);
if (selectedColumnCount > 0)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0; i < selectedColumnCount; i++)
{
sb.Append("Column: ");
sb.Append(dataGridView1.SelectedColumns[i].Index
.ToString());
sb.Append(Environment.NewLine);
}
sb.Append("Total: " + selectedColumnCount.ToString());
MessageBox.Show(sb.ToString(), "Selected Columns");
}
}
---------------------------------