2010-01-07 3 views

ответ

2

вы можете сделать редактор только для чтения с помощью обработки 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

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

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

Спасибо за Ваш ответ. Однако, это не ваше решение для Windows.Forms DataGridView? Я использую Devexpress XtraGrid –

+0

Моя ошибка да, это для Windows.Forms DataGridView – IordanTanev

3

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

gridView1.CustomRowCellEditForEditing += OnCustomRowCellEditForEditing; 

private void OnCustomRowCellEditForEditing(object sender, CustomRowCellEditEventArgs e) 
{ 
    if (e.Column.FieldName != "MyFieldName") return; 
     *code here* 
     e.RepositoryItem.ReadOnly = true; 
} 
Смежные вопросы