找回密码
 立即注册

QQ登录

只需一步,快速开始

小豆子

注册会员

3

主题

8

帖子

31

积分

注册会员

积分
31
  • 94

    金币

  • 3

    主题

  • 8

    帖子

最新发帖
小豆子
注册会员   /  发表于:2023-12-26 11:15  /   查看:2072  /  回复:6

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

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





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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

6 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于: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[j].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讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-12-26 18:25:28
5#
如果需要协助排查的话,请上传一个demo上来,我帮你看看,零星代码不好判断问题原因
回复 使用道具 举报
小豆子
注册会员   /  发表于:2023-12-27 17:32:13
6#
Richard.Ma 发表于 2023-12-26 18:25
如果需要协助排查的话,请上传一个demo上来,我帮你看看,零星代码不好判断问题原因

好的,非常感谢,我这几天做一个demo和说明的文档给你。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-12-28 11:01:35
7#
好的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部