Нажатие в DatagridView флажка Checkbox являющимся объектом DataTable
Прошу помощи! Есть у меня таблица, в ней есть столбец Boоlean.
В событие Чекбокса хочу рассчитывать количество выполненных и не выполненных заданий и отображать это на ProgressBar
DataColumn BoolColumn = new DataColumn("Готово", Type.GetType("System.Boolean"));
Taskk.Columns.Add(BoolColumn);
dataview1.Table = dataSet1.Tables["Taskk"];
dataview1.RowFilter = $"Имя = '{comboBox2.Text}'";
dataGridView2.DataSource = dataview1;
Вопрос: Какое событие отвечает за нажатие на этот чекбокс?
Дело в том, что при активации флажка, события из Datagridview вроде CellValueChanged не срабатывают пока я не нажму на любую соседную строку. И лишь после выделения любой строки срабатывает событие и Datatable узнает, что значение изменилось. Мне же нужно, чтобы прогресс бар реагировал сразу, при нажатии чекбокса.
Помогите пожалуйста сделать все правильно. Я новичок, и искал инфу, но пока не получается.
пробовал DataTable.ColumnChanged Event MDSN
Как мне организовать этот процесс правильно?
На скрине видно, что при нажатых чекбоксах прогресс бар видит 2 нажатых и одну нет.
Спасибо тем, кто откликнулся
Ответы (1 шт):
У меня в одном проекте сделано вот так.
// изменение поведения DGV
private void DataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
if (dataGridView1.IsCurrentCellDirty)
{
dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
}
}
private void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 0)
{
// здесь обработка состояний чекбоксов
}
}