以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态列表项目!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79125)

--  作者:文道古月
--  发布时间:2015/12/24 16:08:00
--  动态列表项目!
老师好:以下该如何实现呢?

如图,输入产品之后,客户输入框combobox1下拉自动列出对应的所有客户、以及客户表中对应的客户名称作为列表项目



图片点击可在新窗口打开查看此主题相关图片如下:截图20151.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/12/24 16:08:15编辑过]

--  作者:大红袍
--  发布时间:2015/12/24 16:10:00
--  

参考

 

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

 

 


--  作者:文道古月
--  发布时间:2015/12/24 16:22:00
--  
老师好:

关键是要同时从另一个表中提取列表项目对应的名称,这一步不会写。(粉色部分)

Dim cmb As WinForm.ComboBox = e.Form.Controls("客户ComboBox1") 
Dim dr As DataRow = DataTables("订单").Find("[客户] = \'"e.Sender.value.SubString(4) & "\'")
If dr IsNot Nothing Then
cmb.Combolist = dr(
"客户") & ?????
End
If
[此贴子已经被作者于2015/12/24 16:48:18编辑过]

--  作者:大红袍
--  发布时间:2015/12/24 17:04:00
--  
Dim cmb As WinForm.ComboBox = e.Sender
Dim str As String = e.Form.Controls("ComboBox1").Value
Dim ls As New List(Of String)
dim list as string = ""
For Each dr As DataRow In DataTables("订单").Select("[产品] = \'" & str & "\'")
    For Each kh As String In dr("客户").split("|")
        If ls.Contains(kh) = False Then
            ls.add(kh)
            Dim fdr As DataRow = DataTables("客户").find("客户 = \'" & kh & "\'")
            If fdr IsNot Nothing Then
                List &= kh & ":" & fdr("名称") & "|"
            End If
        Next
    next
    msgbox(list.Trim("|"))

--  作者:文道古月
--  发布时间:2015/12/24 17:45:00
--  
list 不是关键词吗,这里怎么不报错呢?
又为甚么要定义空白变量呢?

Dim List As String = "" 
.......
List &= kh & "-" & fdr("名称") & "|"     ‘这一句的逻辑:
\'\'字符=空白字符,连接所找到的字符,用-号连接字符对应行所对应的名称,再用|连接

--  作者:大红袍
--  发布时间:2015/12/24 17:48:00
--  

1、你可以换一个名字嘛。

 

2、为了连接得出字符串,肯定要定义空字符串。


--  作者:文道古月
--  发布时间:2015/12/24 17:55:00
--  
噢K,我看没报错,以为有什么特殊用处

懂了