找回密码
 立即注册

QQ登录

只需一步,快速开始

dlerror
中级会员   /  发表于:2021-6-25 14:23  /   查看:2608  /  回复:9
需求是鼠标点击单元格或者按回车键移动到单元格时,单元格变成编辑状态。
现在已经实现鼠标点击变成编辑状态,按回车键移动到单元格无法变成编辑状态,原因是在EnterCell事件中,改变了其他单元格的背景色。
我写了个简单Sample,麻烦版主帮我看一下,怎样能实现需求。
Sample中的check方法是共通方法,内容是影响需求实现的代码,不能修改。


开发环境:Win10 + VS2017 + ComponentOne Studio 2017

本帖子中包含更多资源

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

x

9 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-25 14:52:05
沙发
你好,由于键盘回车键本身绑定了事件,没有办法去修改为回车后直接进入单元格编辑模式
回复 使用道具 举报
dlerror
中级会员   /  发表于:2021-6-25 15:01:00
板凳
Richard.Ma 发表于 2021-6-25 14:52
你好,由于键盘回车键本身绑定了事件,没有办法去修改为回车后直接进入单元格编辑模式

操作流程如下:
1.按下回车键,触发KeyPressEdit事件,在事件中使用Select方法选中下一个单元格。
2.选中下一个单元格,触发EnterCell事件,在事件中使用EditCell方法使当前单元格可编辑。
以上已经可以实现了,但是EnterCell事件中,使用EditCell方法前,需要对其他单元格进行背景色设定,这时,当前单元格就无法变成编辑模式了。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-25 17:22:34
地板
试了一下,调整你这边EnterCell代码的顺序就行

  1.     Private Sub AxVSFlexGrid1_EnterCell(sender As Object, e As EventArgs) Handles AxVSFlexGrid1.EnterCell
  2.         If gridSetting Then Exit Sub
  3.         check()
  4.         AxVSFlexGrid1.EditCell()
  5.         setColor()
  6.     End Sub
复制代码
回复 使用道具 举报
dlerror
中级会员   /  发表于:2021-6-25 18:17:44
5#
Richard.Ma 发表于 2021-6-25 17:22
试了一下,调整你这边EnterCell代码的顺序就行

实在是抱歉,Sample有点问题,check方法应该放在setColor方法中,在改变单元格背景色前。
这样的话,调整代码顺序还是不能实现。
辛苦版主了,麻烦再帮我看看,谢谢了。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-28 00:45:21
6#
收到,周一验证后给你回复
回复 使用道具 举报
dlerror
中级会员   /  发表于:2021-6-28 09:36:18
7#
Richard.Ma 发表于 2021-6-28 00:45
收到,周一验证后给你回复

辛苦版主了,非常感谢。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-28 10:58:10
8#
本帖最后由 Richard.Ma 于 2021-6-28 11:04 编辑

你好,帮你验证了一下,在setColor中执行check的话目前没有把办法实现你需要的进入编辑状态。


回复 使用道具 举报
dlerror
中级会员   /  发表于:2021-6-28 15:16:13
9#
Richard.Ma 发表于 2021-6-28 10:58
你好,帮你验证了一下,在setColor中执行check的话目前没有把办法实现你需要的进入编辑状态。

了解了,我再想其他办法吧,辛苦了,谢谢。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-28 16:42:06
10#
好的,不客气
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部