以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现多个表和窗口,共用一个下拉窗口?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33606)

--  作者:wqb1102
--  发布时间:2013/5/21 15:25:00
--  如何实现多个表和窗口,共用一个下拉窗口?

DropTable

如果从表中的某列打开下拉窗口,可以通过DropTable返回对应的表(Table类型),通过DropCol返回对应的列(Col类型)。
有了这两个属性,不同的表或不同的列,共用一个下拉窗口,会更加方便;对下拉窗口进行条件设置也会更加容易。


在帮助中没有详细说明,在项目中没有找到这个属性。

现在想设置多个表共用一个下拉窗口,但设置不成功。


--  作者:狐狸爸爸
--  发布时间:2013/5/21 15:29:00
--  

 

下拉的窗口的任何一个事件:

 

Dim t As Table = e.Form.DropTable

if t.name = "表A" then 

    if e.dropcol.name = "a" then

    Elseif e.dropcol.name = "a" then

    end if

elseif e.name ="表B" then

end if


--  作者:wqb1102
--  发布时间:2013/5/21 16:40:00
--  
根据帮助中: 自行设计下拉目录树,设置下拉目录树,

TreeView(目录树)的NodeMouseClick事件代码设置为:

If e.Node.Level = 1 Then \'如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\\")
    Dim tr As Row = Tables("客户").Current
    Dim dr As DataRow = DataTables("行政区域").Find("省市 = \'" & ps(0) & "\' And 县市 = \'" & ps(1) & "\'")
    If dr IsNot Nothing Then \'如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行.
        
tr("省市") = dr("省市")
        tr("县市") = dr("县市")
        tr("区号") = dr("区号")
        tr("邮编") = dr("邮编")
        e.Form.DropDownBox.Value = tr("县市"\'这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
    
End If
    e.Form.DropDownBox.CloseDropdown()  \'关闭下拉目录树
End
 If

需要修改吗?或还需要修改其他步骤?


--  作者:狐狸爸爸
--  发布时间:2013/5/21 16:48:00
--  
If e.Node.Level = 1 Then \'如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\\")
    Dim tr As Row = e.Form.DropTable.Current
    Dim dr As DataRow = DataTables("行政区域").Find("省市 = \'" & ps(0) & "\' And 县市 = \'" & ps(1) & "\'")
    If dr IsNot Nothing Then \'如果在行政区域表找到对应的行,则将此行的值写入客户表的当前行.
        tr("省市") = dr("省市")
        tr("县市") = dr("县市")
        tr("区号") = dr("区号")
        tr("邮编") = dr("邮编")
        e.Form.DropDownBox.Value = tr("县市") \'这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
    End If
    e.Form.DropDownBox.CloseDropdown()  \'关闭下拉目录树
End If

--  作者:wqb1102
--  发布时间:2013/5/21 17:02:00
--  
多谢狐爸,试看。
--  作者:wqb1102
--  发布时间:2013/5/21 17:23:00
--  
放在下拉窗口或使用下拉窗口的窗口中都提示: dropcol  不是 FormEventArgs 的成员,错误:  if e.dropcol.name = "a" then;
另:下拉的窗口是使用下拉窗口的窗口吗?现在有:出库、退货、回款、客户、门面、订货共六个窗口需共用下拉窗口,代码要如何设置?
谢谢!

--  作者:狐狸爸爸
--  发布时间:2013/5/21 18:02:00
--  

e.form.dropcol

 

不是

e.dropcol


--  作者:wqb1102
--  发布时间:2013/5/22 11:26:00
--  
狐爸,修改后出现提示错误。现将项目传上,麻烦帮修正一下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:wqb1102
--  发布时间:2013/5/22 13:47:00
--  
自顶
--  作者:狐狸爸爸
--  发布时间:2013/5/22 16:34:00
--  
你说的错误是什么?