"' EditItem'不允许这种观点"而我在WPF中使用ExpandoObject作为datagrid的行

时间:2014-04-24 04:32:53

标签: c# wpf datagrid row expandoobject

我正在尝试将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

2 个答案:

答案 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>

让我知道您是否发现过新病例