方法1:通过gridview的行切换事件来实现
```
private void FocusRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
if(条件)
{
this.gridview.OptionBehavior.Editable=false;//或者设置你想要的列不可编辑也行 this.gridview.FoucsColumn[i].OptionColumn.AllowEdit=true;其他的readonly好像不行,只能设置allowedit
}
else
{
this.gridview.OptionBehavior.Editable=false;
}
}
```
方法2:行切换是应当会触发这个事件
private void gridView1_ShowingEditor(object sender, CancelEventArgs e)
{
if ( 条件 )
{
e.Cancel = true;
}
else
{
e.Cancel = false;
}
}