Получить контроль ячеек GridView в DevExpress - PullRequest
2 голосов
/ 07 января 2010

У меня есть GridView, в котором есть столбец с RepositoryItemCheckEdit как ColumnEdit. Я хочу отключить этот элемент управления только для одной строки. Как я могу это сделать? Есть предложения?

Ответы [ 3 ]

3 голосов
/ 07 января 2010

Я нашел решение проблемы.

gridView1.CustomRowCellEditForEditing += OnCustomRowCellEditForEditing;

private void OnCustomRowCellEditForEditing(object sender, CustomRowCellEditEventArgs e)
{
    if (e.Column.FieldName != "MyFieldName") return;
        *code here*
        e.RepositoryItem.ReadOnly = true;
}
2 голосов
/ 07 января 2010

вы можете сделать редактор доступным только для чтения, обработав CustomRowCellEdit:

private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
    if(code goes here)
        e.RepositoryItem.ReadOnly = true;
}

Вы также можете запретить отображение редактора, обработав ShowingEditor:

private void gridView1_ShowingEditor(object sender, CancelEventArgs e)
{
    if (code goes here)
        e.Cancel = true;
}
0 голосов
/ 07 января 2010

в классе, который наследует метод переопределения DataGridViewColum InitializeEditingControl у него есть параметр rowIndex, напишите что-то вроде этого

this.DataGridView.EditingControl.Enbale = rowIndex != 3; // or the number you need
...