找回密码
 立即注册

QQ登录

只需一步,快速开始

talklion911

初级会员

27

主题

76

帖子

239

积分

初级会员

积分
239
talklion911
初级会员   /  发表于:2021-7-18 23:22  /   查看:3891  /  回复:6
2金币
datasorce绑定,修改后无法同步到数据库。编辑数据后,显示改行未修改。我测试了发现如果把保存前光标点击到其他行,就可以保存。
image.png332577819.png

最佳答案

查看完整内容

应该是点击位置1后行状态没有变,点击位置2行状态会改变吧 spread在结束行内编辑后,才会调用对应的对应数据行的endedit方法,此时行状态才会改变 就是你开头说的光标置于其他行 所以你可以通过代码去设置一下当前行为-1就行 或者找到对应的datarow来endedit(),但是这样其实比较麻烦

6 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-18 23:22:06
来自 5#
应该是点击位置1后行状态没有变,点击位置2行状态会改变吧
spread在结束行内编辑后,才会调用对应的对应数据行的endedit方法,此时行状态才会改变
就是你开头说的光标置于其他行
所以你可以通过代码去设置一下当前行为-1就行

  1. fpSpread1.ActiveSheet.ActiveRowIndex = -1;
复制代码


或者找到对应的datarow来endedit(),但是这样其实比较麻烦
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-19 09:15:06
2#
相当于还在编辑状态,可以在保存前先调用StopCellEditing()方法来结束编辑
回复 使用道具 举报
talklion911
初级会员   /  发表于:2021-7-19 09:23:39
3#
本帖最后由 talklion911 于 2021-7-19 09:26 编辑
Richard.Ma 发表于 2021-7-19 09:15
相当于还在编辑状态,可以在保存前先调用StopCellEditing()方法来结束编辑

fpspread.StopCellEditing()吗?好像不管用啊
回复 使用道具 举报
talklion911
初级会员   /  发表于:2021-7-19 09:47:05
4#
image.png874165344.png
测试时候,如果修改了cell的内容,然后点击1这个位置就能修改,如果点击2这个位置,就不能修改到数据库
回复 使用道具 举报
talklion911
初级会员   /  发表于:2021-7-19 13:45:28
6#
Richard.Ma 发表于 2021-7-19 11:50
应该是点击位置1后行状态没有变,点击位置2行状态会改变吧
spread在结束行内编辑后,才会调用对应的对应数 ...

设置为activerowindex-1不起作用,找到对应的datarow,然后设置为EndEdit能起作用
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-7-19 16:03:00
7#
我这边测试设置activerowindex就可以,设置EndEdit的话,找对应的数据行比较麻烦

如果你那边还是不行的话,可以上传一个demo,我帮您看看原因
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部