找回密码
 立即注册

QQ登录

只需一步,快速开始

rickjelly2004

初级会员

16

主题

48

帖子

466

积分

初级会员

积分
466
rickjelly2004
初级会员   /  发表于:2017-3-23 09:36  /   查看:4141  /  回复:6
关于 FpSpread的change 和 spreadview的cellchange事件
现在spread的displayZero 用的是false,
如果画面上数字的cell如果,值是0 ,单元格显示空白
那么, 双击单元格后 进去显示是0, 我删除0,编辑完成, 画面又显示空白了
按正常逻辑 前后显示都是空白,对吧
这个时候发现 他还是走了  FpSpread的change 和 spreadview的cellchange事件

有什么方法回避这个东西呢, 不希望他走 change事件

6 个回复

倒序浏览
rickjelly2004
初级会员   /  发表于:2017-3-23 10:09:51
沙发
为什么有这个问题
以前用的是 GrapeCity.Win.ElTabelle.Sheet ,他里面有 ValueChanged事件, 好像没问题
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-3-23 18:40:20
板凳
displayZero 的意思就是如果数据是0,就显示空白。进入编辑状态就显示实际数据0。
displayZero 只是一个format。

如果你需要不输入0,就在事件里判断如果是0 就重新设置值为空。
回复 使用道具 举报
rickjelly2004
初级会员   /  发表于:2017-3-28 10:56:50
地板
dexteryao 发表于 2017-3-23 18:40
displayZero 的意思就是如果数据是0,就显示空白。进入编辑状态就显示实际数据0。
displayZero 只是一个fo ...

再问一个问题, 如果数据库中如果是DBNULL的话
采用cell(N,M).value=  datatable.rows(0)(0)
这种方式赋值的话, 那个单元格的值就是 DBNULL, 有办法改成 nothing吗
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-3-28 15:44:10
5#
这个需要您代码处理了,spread作为控件无法判断用户的业务
比如这样写
cell(N,M).value=  datatable.rows(0)(0) == DBNULL? Notiong: datatable.rows(0)(0)
回复 使用道具 举报
rickjelly2004
初级会员   /  发表于:2017-4-10 15:04:01
6#
谢谢, 目前也只能追加一个扩展方法,转换了一下.
非常感谢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-4-10 18:30:32
7#
应该的有问题继续发帖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部