怎样使GridView中满足某个条件的行可编辑,其余行不可编辑?

2018-9-21

DXperience控件包,使用起来非常方便,但有时候某些功能的实现在文档中不太容易找到解决方案,比如下面要提到的这个功能我就在文档中找了很久也没找到,最后还是在官方论坛上找到的。

具体问题是这样的:我需要使GridView中满足某个条件的行可编辑,其余的行不可编辑。问题就是这样,很简单,在GridView的ShowingEditor事件中来判断条件,满足条件就不可编辑,否则可编辑,实现代码片段如下:

复制代码
private void gridView1_ShowingEditor(object sender, CancelEventArgs e)
{
    DataRow row = this.gridView1.GetDataRow(this.gridView1.FocusedRowHandle);
    if (row != null)
 {
         DataRow row = gv.GetDataRow(gv.FocusedRowHandle);
            if (row != null)
            {
                if (SafeConvert.ToInt32(row["DetailID"].ToString()) > 0)
                {                  
                    e.Cancel = true;
                }
                if (this.gv.FocusedColumn.FieldName == "IsSel" )
                {
                    e.Cancel = false;
                }
            }

    }
}
复制代码