以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  下拉窗口选择  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42686)

--  作者:643561836
--  发布时间:2013/11/19 14:05:00
--  下拉窗口选择
使用超级模糊查询的下拉窗口选择录入数据,如何限制录入内容只能从下拉窗口中选择,对于输入的新值如何在下拉窗口中没有些数据,则提示先“新增客户信息”
--  作者:Bin
--  发布时间:2013/11/19 14:16:00
--  
两个办法
1.在DataColChanged事件中利用Find查找该数据是否存在
2.直接设置不可编辑

推荐第二个办法.

--  作者:643561836
--  发布时间:2013/11/19 14:20:00
--  
如何设置不可编辑则无法输入数据进行查询
--  作者:Bin
--  发布时间:2013/11/19 14:28:00
--  
可以采取以下这些方式


--  作者:643561836
--  发布时间:2013/11/19 14:34:00
--  
我现在用的是http://www.foxtable.com/help/index.html?n=1534.htm

要求窗口录入模式下的下拉窗口数据值只能在下拉窗口中选择


--  作者:狐狸爸爸
--  发布时间:2013/11/19 14:35:00
--  
那就用bin说的方法1
--  作者:643561836
--  发布时间:2013/11/19 14:54:00
--  
具体如何写呢?试了几次不成功!


--  作者:狐狸爸爸
--  发布时间:2013/11/19 14:59:00
--  

 不是Datacolchanged事件,用dataColchanging事件:

http://www.foxtable.com/help/topics/0624.htm

 

例如:

 

If e.DataCol.Name = "某一列" Then
    Dim dr As DataRow
    dr = DataTables("来源表").Find("某一列 = \'" & e.NewValue & "\'")
    If dr Is Nothing Then
        MessageBox.Show("必须输入某某表已经存在的内容!")
        e.Cancel = True
    End If
End If

[此贴子已经被作者于2013-11-19 14:58:55编辑过]

--  作者:643561836
--  发布时间:2013/11/19 16:09:00
--  
谢谢!这个可以实现了


--  作者:643561836
--  发布时间:2013/11/19 16:12:00
--  
这个代码好像不允许空值吧?