У меня есть Gridview с 30 строками и 12 столбцами с мультиселекцией true и режимом выбора: выбор ячейки. Я хочу сделать следующее:Изменение цвета нескольких выделенных ячеек в строке DataGridView
a) Когда пользователь выбирает ячейки, цвет ячеек должен меняться. Однако я хочу ограничить пользователя, чтобы он мог выбирать несколько ячеек из одной строки только в то время, когда пользователь не может выбирать несколько ячеек в разных строках.
b) Если пользователь выбирает несколько ячеек в строке, то цвет меняется, а ячейка остается выбрана до тех пор, пока пользователь не переустановит ее, чтобы изменить цвет, чтобы удалить изменение цвета (отменить выбор цвета по умолчанию). Прямо сейчас, если пользователь выбирает определенные ячейки, цвет меняется, но когда пользователь перемещается для выбора других ячеек, тогда выбранные ранее ячейки меняют цвет по умолчанию (автоматически отменяет выбор).
Прямо сейчас я могу изменить цвет выбранных ячеек, но я не могу выполнить вышеуказанные условия.
foreach (DataGridViewRow row in dataGridView1.Rows)
{
foreach (DataGridViewColumn col in dataGridView1.Columns)
{
dataGridView1.Rows[row.Index].DefaultCellStyle.SelectionBackColor = Color.Pink;
}
}
[Update]: Я пробовал это, но до сих пор не в состоянии решить мою проблему
private void dataGridView1_CellClick(object sender,
DataGridViewCellEventArgs e)
{
List<DataGridViewRow> rowCollection = new List<DataGridViewRow>();
foreach (DataGridViewCell cell in dataGridView1.SelectedCells)
{
rowCollection.Add(dataGridView1.Rows[cell.RowIndex]);
}
foreach (DataGridViewRow row in rowCollection)
{
dataGridView1.Rows[row.Index].DefaultCellStyle.SelectionBackColor = Color.Pink;
}
}