GridControl根据条件设置每行中某单元格只读
要实现该功能,需要在GridControl下GridView的CustomRowCellEdit事件里处理。
具体代码如下:
//表示GridControl中需要设置属性的控件
RepositoryItem _disabledItem;
private void _gridView_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
{
if (e.Column.Name != "colunmName")//需要设置的列名
return;
if (_disabledItem == null)
{
_disabledItem = (RepositoryItem)e.RepositoryItem.Clone();
_disabledItem.ReadOnly = true;
_disabledItem.Enabled = false;
}
//判断条件
var electric = _gridView.GetRow(e.RowHandle) as SelectElectricShow;
if (electric == null)
return;
//满足条件,设置成只读
if (electric.IsLimited)
e.RepositoryItem = _disabledItem;
}
效果如图所示: