Devexpress根据条件单元格变色以及根据条件设置单元格可编辑-记录

单元格变色

在GridView中的gridView_RowCellStyle事件中写代码逻辑,一定要加列名判断。如果不加列名判断,好像整行变色或者是没有效果。具体不记得了

1 if(e.Column.FiledName="XXX") //xxxx为需要变色的那一列绑定的字段名
2 {
3 DataRow dr = gridView2.GetDataRow(e.RowHandle);
4 string value= dr["XXX"].ToString().Trim();//获取单元格数据
5 //add change cell backcolor code
6 e.Appearance.BackColor=Color.Red;//使其变色的关键代码
7 }
View Code

 【单元格根据条件可编辑设置

1.首先我们定义是否可编辑函数。

1  private bool DisableEditCell(GridView view,int fourceRow)
2 {
3       bool edit = false;
4       GridColumn col = view.Columns["Locked"];
5       //选中单元格的数据
6 string val = Convert.ToString(view.GetRowCellValue(fourceRow, col));
7       if (val == "N") edit = true;
8       return edit;
9 }
View Code

2.再在GridView的showingEdit事件中添加如下代码

1 private void gvforecast_ShowingEditor(object sender, CancelEventArgs e)
2 {
3      GridView view = sender as GridView;
4      //如果列名是"Forecast"且Locked列值不等于N,则不可以编辑
5      if (view.FocusedColumn.FieldName == "Forecast" && !DisableEditCell(view, view.FocusedRowHandle))
6             {
7                 e.Cancel = true;
8             }
9 }
View Code
原文地址:https://www.cnblogs.com/stoneWl/p/10969786.html