以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关闭窗口后光标位置问题?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140024)

--  作者:老鼠
--  发布时间:2019/8/27 20:08:00
--  [求助]关闭窗口后光标位置问题?
如题,我在窗口中设置了上一行,最末行等按钮;我在窗口中操作了上一行或者最末行的操作完成编辑后,关闭窗口后如何让光标停留在窗口编辑数据行中???
我关闭窗口后光标又返回了刚选择的数据行,而不是我在窗口编辑的数据行。

[此贴子已经被作者于2019/8/27 20:15:17编辑过]

--  作者:有点蓝
--  发布时间:2019/8/27 20:22:00
--  
看看:http://www.foxtable.com/webhelp/topics/2631.htm
--  作者:老鼠
--  发布时间:2019/8/27 20:46:00
--  
先感谢老师的指点,
这是我复制的代码:
If Forms("编辑窗口").Opened Then \'如果编辑窗口已经打开
    Dim dr As DataRow = e.Table.Current.DataRow
    Dim wz As Integer = Tables("编辑窗口").FindRow(dr)
    If wz >=0 Then
        Tables("编辑窗口").Position = wz
    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:003.png
图片点击可在新窗口打开查看

这是错误提示窗口。


图片点击可在新窗口打开查看此主题相关图片如下:004.png
图片点击可在新窗口打开查看

这是主窗口的设置


图片点击可在新窗口打开查看此主题相关图片如下:005.png
图片点击可在新窗口打开查看

这是编辑窗口的设置


我要说明的一点是,我的编辑窗口没有数据表,数据表在主表中。

图片点击可在新窗口打开查看此主题相关图片如下:006.png
图片点击可在新窗口打开查看
这是我的编辑窗口
[此贴子已经被作者于2019/8/27 20:49:00编辑过]

--  作者:老鼠
--  发布时间:2019/8/27 20:59:00
--  
我改了一下代码:
If Forms("编辑窗口").Opened Then \'如果编辑窗口已经打开
    Dim dr As DataRow = e.Table.Current.DataRow
    Dim wz As Integer = Tables("基础信息").FindRow(dr)
    If wz >=0 Then
        Tables("基础信息").Position = wz
    End If
End If
不报错了,但代码也没有用了。?


--  作者:有点蓝
--  发布时间:2019/8/27 21:39:00
--  
看窗口截图,绑定的是主表,不需要写这种代码了。

在什么事件写什么代码打开这个窗口的?上一行和下一行这些写了什么代码?

统计窗口是不是有窗口表绑定了基础信息的副本?

--  作者:老鼠
--  发布时间:2019/8/27 21:48:00
--  
感谢有点蓝老师的指点!

图片点击可在新窗口打开查看此主题相关图片如下:007.png
图片点击可在新窗口打开查看
这是打开窗口的代码

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:eventcode.rar



窗口所有代码文件。


图片点击可在新窗口打开查看此主题相关图片如下:008.png
图片点击可在新窗口打开查看
这是主窗口图片,基础信息表在主窗口中。
[此贴子已经被作者于2019/8/27 21:49:31编辑过]

--  作者:有点蓝
--  发布时间:2019/8/27 22:01:00
--  
双击打开窗口代码改为:

e.Cancel = True
Forms("编辑窗口").open

--  作者:老鼠
--  发布时间:2019/8/27 23:00:00
--  
感谢有点蓝老师的指点,但不明白:为什么这个取消变动就可以达到这个目的呢?这个表格的Cancel逻辑属性到底是指什么呢?
--  作者:有点蓝
--  发布时间:2019/8/27 23:08:00
--  
参考:http://www.foxtable.com/webhelp/topics/1499.htm

目的是禁止单元格进入编辑状态,如果进入编辑状态,没有结束编辑之前,不会受position的影响,窗口关闭后这一行仍然会处于编辑状态,选中的行就不会变