以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  副本表新增行后光标自动移动到第一行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188395)

--  作者:creastzh
--  发布时间:2023/9/18 17:54:00
--  副本表新增行后光标自动移动到第一行
我不知道为什么,在我以副本表所做的一个窗口的表中,新增行后,光标自动定位到了第一行的同一列,但刚才新增行却在最后一行,导致无法正常开始输入,必须重新将光标重新定位到最后一行,这增加了很多麻烦,而且有时候这个新增行还自动隐藏,导致找不到新增行,从而无法进行录入.
我不知道我错误设置了什么还是发生了什么情况,哪位老师能帮我看一下, 谢谢!

说明,我的表内没有定义任何排序操作.
[此贴子已经被作者于2023/9/18 17:57:54编辑过]

--  作者:有点蓝
--  发布时间:2023/9/18 20:09:00
--  
应该是有表事件代码影响了
--  作者:creastzh
--  发布时间:2023/9/18 21:09:00
--  
我再一次将所有表事件代码做了一下检查,调整后基本正常了,谢谢蓝老师.
--  作者:creastzh
--  发布时间:2023/9/19 6:02:00
--  
还是有这么个问题, 该表我是将筛选取消后实现的, 但实际我的其它表也出现了这样的问题, 最后我发现只要是窗体上方设置了筛选,那么在进行新记录时,由于新增的记录不属于筛选范围,这就导致了新增的记录被筛选掉了, 所以当我取消筛选后就能发现这个空的记录, 问题是:
当我在BeforeAddDataRow 或 DataRowAdding, DataRowAdded 时仍不起作用,
只有当我不用窗口方式,取消这个筛选时才能奏效
我的窗口筛选方式如下:
图片点击可在新窗口打开查看

事实上,提供窗口就是为了使用者方便,频繁取消窗口或其筛选方式仍然是有问题的, 我不知道哪里又出了错.
[此贴子已经被作者于2023/9/19 6:03:44编辑过]

--  作者:有点蓝
--  发布时间:2023/9/19 8:46:00
--  
假设筛选条件是编号

方法1、新增行后给新行赋值符合筛选条件的数据,比如
dim r as row = tables("xxx").addnew
r("编号") = “符合筛选条件的值”

2、筛选条件加一个编号为空的条件。比如
原条件
tables("xxx").filter = "编号=\'123\'"
加条件
tables("xxx").filter = "编号=\'123\' or 编号 is null"

--  作者:creastzh
--  发布时间:2023/9/23 8:45:00
--  
最后我选取了版主蓝老师2楼的方式2, 完美解决!
部分表我干脆就在事件DataRowAdding增加了语句 Tables("xx").filter="", 然后利用上方的筛选按钮完成新的筛选, 感谢蓝老师提供方法论.