以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  接输入不在列表项目中的内容问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83850)

--  作者:cha618
--  发布时间:2016/4/18 16:47:00
--  接输入不在列表项目中的内容问题

AllowDirectType

逻辑型,是否允许用户直接输入不在列表项目中的内容。
必须在设置ComboList属性之前,设置AllowDirectType
属性,否则无效。

示例

Tables("订单").Cols("客户").AllowDirectType = False
Tables(
"订单").Cols("客户").Combolist =
"CS01|CS02|CS03|CS04"



根据字面意思,将此属性设置为否。应该可以 手工输入内容,但内容必须在 列表项目中,否则不接收的


但测试结果为:只要设置不FALSE了 就不能输入任何内容。 这样 该属性 就是 是否允许用户直接输入了  后面的描述是多余的了



实际 控制要求也应为 逻辑型,是否允许用户直接输入不在列表项目中的内容。 因为可选项目多了,最好给用户提供一个 输入助手才好



这个希望官方 能解决一下(当然不允许 用户直接 输入 就永远 不会输入 列表之外的内容,但操作不方便 了)


--  作者:大红袍
--  发布时间:2016/4/18 16:53:00
--  

 去编写ValidateEdit事件

 

If e.Col.name = "第二列" andalso e.Text > "" Then
    Dim ary() As String = e.Col.ComboList.Split("|")
    If array.indexof(ary, e.text) < 0 Then
        msgbox("不能输入不存在的值")
        e.cancel = True
    End If
End If

 


--  作者:cha618
--  发布时间:2016/4/18 17:04:00
--  
这是能实现,但为什么 系统功能就不能做得到位点了,到处让用户自己打补丁呢
--  作者:大红袍
--  发布时间:2016/4/18 17:08:00
--  

 这个功能是你要改进的,当然要自己写代码,难倒每种功能系统都做好了?


--  作者:cha618
--  发布时间:2016/4/18 17:21:00
--  
以下是引用大红袍在2016/4/18 17:08:00的发言:

 这个功能是你要改进的,当然要自己写代码,难倒每种功能系统都做好了?


不是这样的



AllowDirectType

逻辑型,是否允许用户直接输入不在列表项目中的内容。

这是系统自己说的呀

明显牛头不对马嘴,官方可以改改说明了