找回密码
 立即注册

QQ登录

只需一步,快速开始

credream

中级会员

110

主题

296

帖子

828

积分

中级会员

积分
828

活字格认证

credream
中级会员   /  发表于:2015-12-24 12:00  /   查看:4738  /  回复:3
MR4中MultiRowSheet1_LeaveEdit事件
现在升级成MR8的时候:把 MultiRowSheet1_LeaveEdit事件改成了GcMultiRow1_NewCellPositionNeeded事件

但是现在问题是:SRC中有关于下面的判断:导致判断逻辑出错
MR8中这个逻辑是可以走进去的:
If e.MoveStatus = GrapeCity.Win.MultiRow.MoveStatus.NoAction Then
            Debug.Print("--")
        End If

但MR4中这个逻辑走不进去

请教下,MR4中在
MultiRowSheet1_LeaveEdit事件中,e.MoveStatus = GrapeCity.Win.MultiRow.MoveStatus.NoAction 的动作是什么时候触发的?
MR8中在
GcMultiRow1_NewCellPositionNeeded事件中,e.MoveStatus = GrapeCity.Win.MultiRow.MoveStatus.NoAction 的动作都是什么时候触发的?

如何MR8中使的动作和MR4中的保持一致,而不出现逻辑错误。。。

3 个回复

倒序浏览
robert
金牌服务用户   /  发表于:2015-12-24 15:12:00
沙发
GcMultiRow1_NewCellPositionNeeded 和 MR4的LeaveEdit事件没有可比性。
我不清楚MR4的事件策略,但是从名字看,LeaveEdit应该是离开编辑状态的时候触发。而NewCellPositionNeeded时机是在任何导致CurrentCellPosition发生变化的时候触发。
也就是说,如果离开编辑状态但是CurrentCell没变,NewCellPositionNeeded不发但是LeaveEdit会触发。
如果没有开始编辑,直接移动CurrentCell,NewCellPositionNeeded会发,但是LeaveEdit不发

评分

参与人数 1金币 +999 收起 理由
Alice + 999 奖励金币

查看全部评分

回复 使用道具 举报
sxyweiren
中级会员   /  发表于:2015-12-28 14:53:00
板凳
回复 2楼robert的帖子
MR8中在
GcMultiRow1_NewCellPositionNeeded事件中,e.MoveStatus = GrapeCity.Win.MultiRow.MoveStatus.NoAction 的动作都是什么时候触发的?

那么这个状态在什么时候会触发呢?因为从事件的定义上讲,NewCellPositionNeeded事件的触发肯定是因为有新的单元格需要选择。
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2015-12-28 16:23:00
地板
> 那么这个状态在什么时候会触发呢?因为从事件的定义上讲,NewCellPositionNeeded事件的触发肯定是因为有新的单元格需要选择。
文档上的说法是在未知原因下触发,我试验了一些情况都不能触发。应该是正常情况下不能触发NoAction
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部