以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于DropForm  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90334)

--  作者:sara
--  发布时间:2016/9/10 8:46:00
--  关于DropForm
我想这样,就是Table表有一个逻辑列,这个列为True时候,用DropForm列出一个下拉表,如果为false就直接还是编辑框,可以自己输入内容,可以实现吗
--  作者:有点蓝
--  发布时间:2016/9/10 9:38:00
--  
可以用逻辑列来控制其它列是否有下拉表,不能控制逻辑列本身

Select Case e.DataCol.Name
    Case "第二列"
        If e.NewValue = True Then
            Tables(e.DataTable.Name).Cols("第三列").DropForm = "窗口1"
        Else
            Tables(e.DataTable.Name).Cols("第三列").DropForm = Nothing
        End If
End Select

--  作者:sara
--  发布时间:2016/9/10 9:53:00
--  
在哪里写代码
--  作者:有点蓝
--  发布时间:2016/9/10 9:55:00
--  
DataColChanged
--  作者:狐狸爸爸
--  发布时间:2016/9/10 10:01:00
--  

这个在PrepareEdit事件会更合适一些:

 

If e.Col.name = "第二列" Then
   If e.IsFocusCell And e.Row("逻辑列") = True Then
        e.Col.DropForm  = "窗口1"
   Else
        e.Col.DropForm  = ""
    End If
End If