以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  筛选后行的位置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160165)

--  作者:lal021962
--  发布时间:2021/1/22 22:44:00
--  筛选后行的位置
在主窗口中,经过筛选后,若原选定行不符合筛选条件,则现选定行会自动变成符合筛选条件的下一行,如下两图:
筛选前:

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

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

请问如何做到:若原选定行不符合筛选条件,筛选后的选定行不变,仍为原选定行。



--  作者:有点蓝
--  发布时间:2021/1/23 9:15:00
--  
筛选后原选定行在table中已经不存在了,如何选中?假装手里拿着一个不存在的苹果?
--  作者:lal021962
--  发布时间:2021/1/23 16:18:00
--  
换个说法吧,有以下矛盾:
在销售定单的窗口中有“提交“按钮,希望按下提交时能“保存”且“进度+1”,故在“提交”按钮的mouseup中用如下代码:
With Tables("销售定单主表")
    Dim k As Byte = Tables("销售定单主表").current("进度序号")
    If .Current IsNot Nothing And Tables("销售定单主表").current("进度序号")<7 Then \'如果当前行未曾修改
        k = k+1
        Tables("销售定单主表").current("进度序号") = k
        Tables("销售定单主表").Current.Save()
    End If
End With

在正常的情况下,按下“提交”按钮后,“保存”和“进度+1”都能实现。比如,“进度=2”的销售定单,进入其中一列的窗口,在点击提交按钮后,进度序号会变成3,且销售定单会保存
但假若对“销售定单主表”进行“进度”一列的筛选后,如筛选“进度=2”的销售定单,进入其中一列的窗口,在点击提交按钮后,进度序号会变成3,窗口自动关闭,但销售定单无法保存。
请问如何实现在进行筛选后,“保存”和“进度+1”都能实现

--  作者:有点蓝
--  发布时间:2021/1/23 16:37:00
--  
With Tables("销售定单主表")
dim r as row = .current
if r isnot nothing then
    Dim k As Byte = r("进度序号")
    If k<7 Then \'如果当前行未曾修改
        k = k+1
        r("进度序号") = k
        r.Save()
    End If
end if
End With

[此贴子已经被作者于2021/1/23 16:37:11编辑过]