Предотвращение изменений в определенных строках в DataGridView - PullRequest
1 голос
/ 12 февраля 2009

Я хочу запретить пользователю редактировать или удалять первые три строки сетки данных.

Как я могу это сделать?

Ответы [ 2 ]

3 голосов
/ 12 февраля 2009

Решение:

private void dataGridView3_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) {
    if (e.RowIndex < 3) {
        e.Cancel = true;
    }
}

private void dataGridView3_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) {
    if (e.Row.Index < 3) {
        e.Cancel = true;
    }
}
1 голос
/ 12 февраля 2009

Один из способов сделать это - захватить событие _CellBeginEdit, проверить, разрешены ли какие-либо изменения в целевой строке, и отменить событие, если изменения не разрешены:

private void dataGridViewIndexesSpecs_CellBeginEdit (отправитель объекта, DataGridViewCellCancelEventArgs e) {

        if (e.RowIndex <= 3)
            e.Cancel = true;

    }
...