dlerror 发表于 2021-6-25 14:23:31

AxVSFlex8DAO.AxVSFlexGrid控件,EditCell方法的问题

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


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

Richard.Ma 发表于 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 发表于 2021-6-25 17:22:34

试了一下,调整你这边EnterCell代码的顺序就行

    Private Sub AxVSFlexGrid1_EnterCell(sender As Object, e As EventArgs) Handles AxVSFlexGrid1.EnterCell
      If gridSetting Then Exit Sub
      check()
      AxVSFlexGrid1.EditCell()
      setColor()
    End Sub

dlerror 发表于 2021-6-25 18:17:44

Richard.Ma 发表于 2021-6-25 17:22
试了一下,调整你这边EnterCell代码的顺序就行

实在是抱歉,Sample有点问题,check方法应该放在setColor方法中,在改变单元格背景色前。
这样的话,调整代码顺序还是不能实现。
辛苦版主了,麻烦再帮我看看,谢谢了。

Richard.Ma 发表于 2021-6-28 00:45:21

收到,周一验证后给你回复

dlerror 发表于 2021-6-28 09:36:18

Richard.Ma 发表于 2021-6-28 00:45
收到,周一验证后给你回复

辛苦版主了,非常感谢。

Richard.Ma 发表于 2021-6-28 10:58:10

本帖最后由 Richard.Ma 于 2021-6-28 11:04 编辑

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


dlerror 发表于 2021-6-28 15:16:13

Richard.Ma 发表于 2021-6-28 10:58
你好,帮你验证了一下,在setColor中执行check的话目前没有把办法实现你需要的进入编辑状态。

了解了,我再想其他办法吧,辛苦了,谢谢。

Richard.Ma 发表于 2021-6-28 16:42:06

好的,不客气
页: [1]
查看完整版本: AxVSFlex8DAO.AxVSFlexGrid控件,EditCell方法的问题