以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]列组合代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82323)

--  作者:seal51
--  发布时间:2016/3/15 20:29:00
--  [求助]列组合代码

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

--  作者:大红袍
--  发布时间:2016/3/15 20:47:00
--  

DataColChanged事件

 

Select Case e.DataCol.Name

    Case "外径", "内径", "高度"

        e.DataRow("规格") = e.DataRow("外径") & "/" & e.DataRow("内径") & "*" & e.DataRow("高度")

End Select


--  作者:seal51
--  发布时间:2016/3/15 21:04:00
--  
谢谢老师!
--  作者:seal51
--  发布时间:2021/4/3 17:25:00
--  
表A的DataColChanged事件,有段组合的代码如下
Select Case e.DataCol.Name
    Case "材料A","材料B","材料C","材料D","材料E","材料F"
        Dim dr1 As DataRow = e.DataRow
        Dim str As String = ""
        If dr1.IsNull("材料A") = False Then
            str &= dr1("材料A")
        End If
        If dr1.IsNull("材料B") = False Then
            str &=  "/" & dr1("材料B")
        End If
        If dr1.IsNull("材料C") = False Then
            str &=  "/" & dr1("材料C")
        End If
        If dr1.IsNull("材料D") = False Then
            str &=  "/" & dr1("材料D")
        End If
        If dr1.IsNull("材料E") = False Then
            str &=  "/" & dr1("材料E")
        End If
        If dr1.IsNull("材料F") = False Then
            str &=  "/" & dr1("材料F")
        End If
        e.DataRow("组合") = str.Trim("/")
End Select

这段代码如何在窗口中实现
附例子
表B的第一列有个窗口,在窗口中组合后,将内容导入表B的第一列

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:材料组合5120210404.foxdb

在窗口的AfterLoad事件里写代码如下:
Dim str As String = ""
For i As Integer = 1 To 6
    Dim txt As String = e.Form.controls("combobox" & i).text
    If txt > "" Then
        str &= txt & "/"
    End If
Next
e.Form.Controls("TextBox2").Text = str.trim("/")


如何在加个TextBox1组合在里面呢?

[此贴子已经被作者于2021/4/3 17:36:45编辑过]

--  作者:有点蓝
--  发布时间:2021/4/3 17:36:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:材料组合5120210404.zip


--  作者:seal51
--  发布时间:2021/4/3 17:55:00
--  
OK,谢谢!
--  作者:seal51
--  发布时间:2021/4/5 10:48:00
--  
现在的代码能够实现自由组合, 如:
A1/B2/C3
A2/C2
A3/B3/C3/E3
A4/B4/C4/F4
A5/B5/C5/D5/E5/F5
B1/C1/E4

根据需要,随时需要在组合中加入括号以示区别: 如
(A3/B3)(C3/E3)
A5/B5(C5/D5)E5/F5

如何能达到呢?

--  作者:有点蓝
--  发布时间:2021/4/5 21:15:00
--  
有没有什么规律?怎么知道何时加入括号?
--  作者:seal51
--  发布时间:2021/4/12 11:47:00
--  
由于组合方式的不同,我将不同的组合放到页面集合里, 见实例, 如何实现??
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:材料组合5120210412.zip



--  作者:有点蓝
--  发布时间:2021/4/12 11:55:00
--  
没看懂,请详细说明一下