以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  在两个关联明细表中共用下拉  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90478)

--  作者:dengzhihao
--  发布时间:2016/9/14 0:48:00
--  在两个关联明细表中共用下拉
如何在两个关联的明细表中共用下拉,

If e.Node.Level = 1 Then \'如果单击的是第二层节点
    Dim ps() As String = e.Node.FullPath.Split("\\")
    Dim tr As Row
    If e.Form.DropTable IsNot Nothing Then
        If e.Form.DropTable.Current IsNot Nothing Then
            tr = e.Form.DropTable.Current
        End If
    Else
        If e.Form.DropDownBox.BindingField  > "" Then
            Dim nm As String = e.Form.DropDownBox.BindingField
            nm = nm.Split(".")(0)
            tr = Tables(nm).Current
        End If
    End If
    If tr Is Nothing Then
        Return
    End If
    Dim dr As DataRow = DataTables("销售产品").Find("类别 = \'" & ps(0) & "\' And 产品名称 = \'" & ps(1) & "\'")
    If dr IsNot Nothing Then 
        tr("产品名称") = dr("产品名称")
tr("单位") = dr("单位")
        e.Form.DropDownBox.Value = tr("产品名称") \'这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.
    End If
    e.Form.DropDownBox.CloseDropdown() \'关闭下拉目录树
End If

--  作者:dengzhihao
--  发布时间:2016/9/14 8:33:00
--  
上面的代码不能使用在关联子表中,在主表是没问题的。

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1
错误所在事件:窗口,下拉_销售产品,TreeView1,NodeMouseClick
详细错误信息:
列“产品名称”不属于表 T120。

[此贴子已经被作者于2016/9/14 8:33:34编辑过]

--  作者:有点蓝
--  发布时间:2016/9/14 8:55:00
--  
父子表,除了关联列,其它列几乎都不一样的。没有办法共用,老老实实分开做吧。

具体上例子瞧瞧