为devexpress网格控件中的不同行设置可编辑属性

时间:2015-04-07 23:01:08

标签: c# wpf mvvm devexpress

我有一个devexpress网格控件,其中包含“Name”,“Class”,“Marks”,“Grade”列。现在,通过查询数据库表StudentMarks来加载网格控件中的部分数据。通过设置相应列的Iseditable属性,将数据的剩余部分手动输入到网格控件中。我想要一个功能,通过查询数据库加载的条目是不可编辑的,但网格控件中的空/空行可以编辑。目前我无法实现这一点,因为对于我的xaml中的所有列,我的IsEditable被设置为true。是否可以以行粒度而不是列指定可编辑属性?

1 个答案:

答案 0 :(得分:0)

是的,您可以使用gridview_ShowingEditor事件使单元格成为可读或可编辑的,将所有列的可编辑设置为true并处理此事件中必须只读的单元格。

    private void gridView1_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e) {

        GridView view = sender as GridView; 

        if(view.FocusedColumn.FieldName == "Name" || view.FocusedColumn.FieldName == "Class" 
||  !newRow(view, view.FocusedRowHandle))
                e.Cancel = true;

    }