以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]用代码设置的辅助输入无效  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187799)

--  作者:chnfo
--  发布时间:2023/8/12 13:17:00
--  [求助]用代码设置的辅助输入无效
Se1ect Case e.Col.Name
    Case "C"
        If e.Row.IsNull("Kind") = False Then 
            If e.IsFocusCell Then
                e.Col.ComboList = DataTables("A").GetComboListString("C", "Kind = " & e.Row("Kind"), "_SortKey")
                e.Col.AllowTypeAssistant = True 
            End If
        End If 
End Se1ect

这时候,如果下拉选择,条件是生效的。
但是如果是手工输入,想利用辅助输入过滤数据,实际上显示的是所有数据,相当于DataTables("A").GetComboListString("C", "", "_SortKey")

如何实现辅助输入时过滤条件生效?

--  作者:有点蓝
--  发布时间:2023/8/12 13:48:00
--  
辅助输入是不可能改变列表项目原数据的。我测试没有问题,请上传实例说明。
[此贴子已经被作者于2023/8/12 13:48:39编辑过]

--  作者:chnfo
--  发布时间:2023/8/12 16:25:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:构建树.rar


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


[此贴子已经被作者于2023/8/12 16:25:12编辑过]

--  作者:chnfo
--  发布时间:2023/8/12 16:27:00
--  
不是去改变原表的结构,是说辅助输入时,过滤条件不生效
表B中,当Kind=1时,不论是直接下拉选择,还是辅助输入,都只应当显示第三层(也就是C的值里包含两个“.”)
而当kind=2时,不论是直接下拉,还是辅助输入,都只应当显示第一层和第二层(也就是C的值里最多包含一个".")


第一次下拉或辅助输入时,是生效的(不论是不是第一行)。但第一次操作数据保存以后,第二次换行下拉生效,辅助不生效。
[此贴子已经被作者于2023/8/12 16:40:23编辑过]

--  作者:有点蓝
--  发布时间:2023/8/12 17:48:00
--  
应该是个bug,已反馈