Это из моего кода, все, что вам нужно сделать, это создать событие CellContentClick для вашей таблицы данных.
Самый простой способ сделать это - выбрать Datagridview, перейти к свойствам и щелкнуть молнией. Прокрутите вниз до «CellContentClick» и дважды щелкните в пустом поле. Это автоматически сгенерирует метод, в который нужно вставить следующий код.
Убедитесь, что вы переименовали мои экземпляры "CustomersDataGridView" в любое имя, которое у вас есть, intellisense должно выделять недопустимый код красным цветом, который вам нужно заменить.
Кроме того, «9», которое вы видите в объявлении checkCell, необходимо изменить на индекс вашего флажка «Завершено». Если он находится в 3-й ячейке слева, поставьте 2 вместо 9, поскольку индексирование основано на 0.
РЕДАКТИРОВАТЬ, чтобы исправить комментарии:
private void CustomersDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex.ToString() == "9")
{
DataGridViewCheckBoxCell checkCell = (DataGridViewCheckBoxCell)CustomersDataGridView.Rows[e.RowIndex].Cells[9];
DataGridViewRow row = CustomersDataGridView.Rows[e.RowIndex] as DataGridViewRow;
if (Convert.ToBoolean(checkCell.EditedFormattedValue) && CustomersDataGridView.IsCurrentCellDirty)
{
//Do Work here.
var z = row.Cells[0].Value; // Fill in the brackets with the column you want to fetch values from
//z in this case would be the value of whatever was in the first cell in the row of the checkbox I clicked
}
}
}