小豆子 发表于 2023-12-26 11:15:25

C1FlexGrid RowEditEnded事件异常


表格绑定的数据源是自定义数据
是用的这个类型:ObservableCollection<Dictionary<string, object>> lst_data = null;

画面可以数据,但当想新添加一行的时候,就提示异常了,说key找不到。





麻烦提示一下,遇到这样的应该怎么解决,谢谢。

Richard.Ma 发表于 2023-12-26 15:43:29


没看出来和FLEXGRID有任何关系

这个你得检查代码了。错误截图完全没法看出具体是哪里出问题了。你应该去调查DataEditForm中初始化的时候,执行的这些代码

小豆子 发表于 2023-12-26 18:08:15

Richard.Ma 发表于 2023-12-26 15:43
没看出来和FLEXGRID有任何关系

这个你得检查代码了。错误截图完全没法看出具体是哪里出问题了。你应该 ...

现在是这个情况,就是把AllowAddNew="true",用表格自带得追加一行的功能,双击的时候会出现这个异常,如果把这个属性改成false,用下面的代码添加几行,操作是没有问题的
Dictionary<string, object>RowItem = new Dictionary<string, object>();
for (int j = 0; j < lst_columns.Count; j++)//按照项目数循环,把每个项目设置为空
{
    RowItem.Add(lst_columns.ColumnName, "");
}
RowItem.Add("EditType", "1");//0:既存 1:新规,2:修改, 3:删除
lst_data.Add(RowItem);

我这边考虑是不是数据绑定的原因,用自带的追加一行的数据,添加的格式和绑定的不匹配

小豆子 发表于 2023-12-26 18:13:19

数据源是这样定义的:
ObservableCollection<Dictionary<string, object>> lst_data = null;

Richard.Ma 发表于 2023-12-26 18:25:28

如果需要协助排查的话,请上传一个demo上来,我帮你看看,零星代码不好判断问题原因

小豆子 发表于 2023-12-27 17:32:13

Richard.Ma 发表于 2023-12-26 18:25
如果需要协助排查的话,请上传一个demo上来,我帮你看看,零星代码不好判断问题原因

好的,非常感谢,我这几天做一个demo和说明的文档给你。

Richard.Ma 发表于 2023-12-28 11:01:35

好的
页: [1]
查看完整版本: C1FlexGrid RowEditEnded事件异常