繁体   English   中英

在WPF中将ExpandoObject用作datagrid的行时,“此视图不允许使用'EditItem'

[英]“'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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM