效果图
UesrId这一列的第三行和第四行无法进行编辑
实现
第一步:添加一个GridControl,并且将其设置为"在父容器中停靠",设置数据源
第二步:设置GridView的ShowingEditor事件
第三步:后台代码
private bool DisabledConditional(GridView view, int row) {
//获取userId列
GridColumn col = view.Columns["userId"];
//选中单元格的数据
string val = Convert.ToString(view.GetRowCellValue(row, col));
//是否等于1或者2
return (val == "1" || val == "2");
}
private void gridView1_ShowingEditor(object sender, CancelEventArgs e)
{
GridView view = sender as GridView;
//如果列名是"userId"且值不等于1或者2,则不可以编辑
if (view.FocusedColumn.FieldName == "userId" && !DisabledConditional(view, view.FocusedRowHandle))
{
e.Cancel = true;
}
}