我正在尝试将expandoObject
用作WPF中数据网格的行。
我发现在编辑单元格之前它可以正常工作。
以下是核心代码:
ExpandoObject row = new ExpandoObject();
((IDictionary<string, Object>)row).Add(strColumnId, strValue);
dg.Items[0] = row;
数据网格可以正确显示行,但如果单击单元格进行编辑,我会收到错误
'EditItem' is not allowed for this view" will be displayed
。
答案 0 :(得分:0)
好的,我知道它有什么问题。 我们应该使用:dg.ItemSources = new dynamic [] {expandoObject}
它现在有效!
我是一个多么愚蠢的男孩!
答案 1 :(得分:0)
我在3个案例中看到此错误
case1 :如果然后双击数据网格(包含诸如分析之类的已处理数据的自定义数据网格),则会显示此错误
简单地,在Datagrid中设置IsReadOnly =“ True”
case2 :编辑数据网格后显示此错误,必须在RowEditEnding期间设置
(sender as DataGrid).CommitEdit(DataGridEditingUnit.Row);
case3 :此错误在RowEditEnding事件之后显示,然后必须查看datagrid在何处重新加载数据,如果viewsource或datagrid已经在使用中,并且我们尝试手动覆盖数据,则可能会发生这种情况< / p>
让我知道您是否发现过新病例