2010-01-07 122 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 – 2010-01-07 13:46:13

+0

我的錯誤是這是爲Windows.Forms DataGridView – IordanTanev 2010-01-07 15:43:34

3

我已經找到了解決問題的方法的類。

gridView1.CustomRowCellEditForEditing += OnCustomRowCellEditForEditing; 

private void OnCustomRowCellEditForEditing(object sender, CustomRowCellEditEventArgs e) 
{ 
    if (e.Column.FieldName != "MyFieldName") return; 
     *code here* 
     e.RepositoryItem.ReadOnly = true; 
}