DataGridView.AreAllCellsSelected(Boolean) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее, все ли ячейки DataGridView выбраны в данный момент.
public:
bool AreAllCellsSelected(bool includeInvisibleCells);
public bool AreAllCellsSelected (bool includeInvisibleCells);
member this.AreAllCellsSelected : bool -> bool
Public Function AreAllCellsSelected (includeInvisibleCells As Boolean) As Boolean
Параметры
- includeInvisibleCells
- Boolean
Значение true
, чтобы включать строки и столбцы, свойство Visible которых имеет значение false
; в противном случае — значение false
.
Возвращаемое значение
Значение true
, если все ячейки (или все видимые ячейки) выбраны или если ячейки отсутствуют (или отсутствуют видимые ячейки); в противном случае — значение false
.
Примеры
В следующем примере кода показано, как использовать этот метод, чтобы избежать вычислений, связанных с коллекцией SelectedCells .
private 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");
}
}
}
Private 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
Комментарии
Коллекция SelectedCells работает неэффективно с большим числом выделенных элементов. Чтобы определить, выбраны ли все ячейки в DataGridView, перед доступом к содержимому коллекции SelectedCells, проверьте возвращаемое значение метода AreAllCellsSelected. Однако этот метод может привести к отмене общего доступа к строкам. Дополнительные сведения о DataGridView производительности см. в статье Рекомендации по масштабированию элемента управления DataGridView Windows Forms.