[英]“'EditItem' is not allowed for this view” while I am using ExpandoObject as the row of datagrid in WPF
我正在尝试将expandoObject
用作WPF中datagrid的一行。
我发现在单元格被编辑之前它可以正常工作。
这是核心代码:
ExpandoObject row = new ExpandoObject();
((IDictionary<string, Object>)row).Add(strColumnId, strValue);
dg.Items[0] = row;
datagrid可以正确显示该行,但是如果单击该单元格进行编辑,则会收到错误消息
'EditItem' is not allowed for this view" will be displayed
。
好吧,我知道这是怎么回事。 我们应该使用:dg.ItemSources = new dynamic [] {expandoObject}
现在就可以了!
我是个多么愚蠢的男孩!
我在3种情况下看到此错误
case1 :如果然后双击数据网格,则会显示此错误(包含处理数据(如分析)的自定义数据网格)
只需在Datagrid中设置IsReadOnly =“ True”
case2 :编辑数据网格后显示此错误,必须在RowEditEnding期间设置
(sender as DataGrid).CommitEdit(DataGridEditingUnit.Row);
case3 :此错误在RowEditEnding事件之后显示,然后必须查看datagrid在何处重新加载数据,如果viewsource或datagrid已在使用中,并且我们尝试手动覆盖数据,则可能发生
让我知道您是否发现了新情况
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.