У меня есть DataGridView, который имеет MultiSelect = верный. После того, как пользователь выбирает различные ячейки из различных строк, как я могу получить значение всех выбранных ячеек?
Вы можете выполнить итерацию по SelectedCells.
foreach (DataGridViewCell cell in dataGridView1.SelectedCells)
{
MessageBox.Show(cell.Value.ToString());
}
Вы запросили только значение, но, вероятно, также хотите знать строку и столбец ячейки, иначе значение может быть бессмысленным. Вы можете получить доступ к ним и на объекте ячейки.
.foreach -
DataGrid.SelectedCells
Больше информации о свойстве SelectedCells можно найти по адресу http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.selectedcells.aspx
Коллекция SelectedCells неэффективна с большими выделениями в DataGridView. Есть метод, который можно использовать для получения количества выбранных ячеек. Итерация, основанная на этом, будет более быстрой.
for (int i = 0; i < grid.GetCellCount(System.Windows.Forms.DataGridViewElementStates.Selected); i++)
{
string val = grid.SelectedCells[i].Value;
}