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