WijmoGrid自定义编辑控件, paste后, 在formatItem回调中拿不到刚刚粘贴的数据
我整理了一份演示demo极简customerEditor, 不知道问题是不是出在这里
调wijmo 只能逆向调试, 不报错是第一步
注: 附件chm改为.html 您好,这个问题需要进一步调研,预计明天上午给您回复。 用你的Demo没能重现这个问题,formatItem中第二个if的条件如果设置成跟第一个if一样时,那么c2 , c3列之间的数据就可以正常复制粘贴了,
复制粘贴操作本质是操作系统剪贴板,系统剪贴板肯定不能拷贝一个json对象,只能拷贝它的stringify字符串,所以加formatItem的目的就是parse这个json对象,
还可以参考一下用户实际的问题案例:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=75171 KevinChen 发表于 2020-6-10 06:04
用你的Demo没能重现这个问题,formatItem中第二个if的条件如果设置成跟第一个if一样时,那么c2 , c3列之间 ...
操作步骤:
①. 点击坐标1,1,({"value":"Germany"}), ctrl c复制
②. 双击坐标0,2 激活input
③. ctrl v复制json字符串, enter回车 提交编辑
此时没能成功修改0.2 KevinChen 发表于 2020-6-10 06:04
用你的Demo没能重现这个问题,formatItem中第二个if的条件如果设置成跟第一个if一样时,那么c2 , c3列之间 ...
可能是wj版本问题, 我再尝试下 很多时候对比法就能发现问题, 经过一番折腾.
发现给单元格设计对象{}类型的值, 可以正常ctrl c ctrl v,设置为array类型, 则不行,
你好,粘贴板中的数据是字符串,而目标单元格中是array,这触发了FlexGrid的数据校验,
如果要用粘贴,可以考虑直接保存JSON字符串,然后别忘了formatItem访问时,数组要加
如附件 KevinChen 发表于 2020-6-10 18:03
你好,粘贴板中的数据是字符串,而目标单元格中是array,这触发了FlexGrid的数据校验,
如果要用粘贴, ...
你好, 感谢回复.
1. 刚对比过后, 发现您将原始值改为了JSON.stringify, 理由是触发了FlexGrid的数据校验,
这是一种解决方式, 但不太舒服.可有方法在parst的tsv被wijmo解析之后, 在单元格被赋值前对数据进行处理,比如JSON.parse().
2. ctrl c 复制(0,2), 粘贴到(1,2) , 此时ctrl z 撤销无效, 需要切换到另一行才会触发撤销的行为
demo沿用您上次的附件
本帖最后由 张天笑 于 2020-6-10 19:53 编辑
张天笑 发表于 2020-6-10 19:44
你好, 感谢回复.
1. 刚对比过后, 发现您将原始值改为了JSON.stringify, 理由是触发了FlexGrid的数据校验 ...
================= 张天笑 发表于 2020-6-10 19:44
你好, 感谢回复.
1. 刚对比过后, 发现您将原始值改为了JSON.stringify, 理由是触发了FlexGrid的数据校验 ...
不能撤销的原因找到了,
我切换到V 5.20192.624 , 就可以在同一单元格撤销, 回退, 立即可以看到效果
而用最新版的V 5.20201.680, 在同一单元格是不能回退 前进的.
版本号通过wijmo.getVersion()获取
页:
[1]
2