以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么把这一大段代码简化一下?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=128082)

--  作者:fengwenliuyan
--  发布时间:2018/11/28 15:34:00
--  [求助]怎么把这一大段代码简化一下?
Dim t As Table = Tables("筐架表")
Dim kg As String = ""
If e.DataRow("铁箱") > 0 Then
    kg &= e.DataRow("铁箱") & "铁箱"
Else
    t.Current("铁箱") = Nothing
End If

If e.DataRow("袋子") > 0 Then
    kg &= e.DataRow("袋子") & "袋子"
Else
    t.Current("袋子") = Nothing
End If

If e.DataRow("铁筐") > 0 Then
    kg &= e.DataRow("铁筐") & "铁筐"
Else
    t.Current("铁筐") = Nothing
End If

If e.DataRow("托盘") > 0 Then
    kg &= e.DataRow("托盘") & "托盘"
Else
    t.Current("托盘") = Nothing
End If

e.DataRow("单笔筐架")  = kg.trim("")

--  作者:有点甜
--  发布时间:2018/11/28 16:04:00
--  

Dim ary() As String = {"铁箱", "袋子", "铁筐", "托盘"}
Dim kg As String = ""
For Each s As String In ary
    If e.DataRow(s) > 0 Then
        kg &= e.DataRow(s) & s       
    End If
Next

e.DataRow("单笔筐架")  = kg.trim("")


--  作者:fengwenliuyan
--  发布时间:2018/11/28 16:33:00
--  这段语句还能简化吗?
Dim t As Table = Tables("筐架表")
Dim str As String = ""
Dim v1 = val(e.Form.controls("textbox1").text)
If v1 > 0 Then
    str &= v1 & "铁箱"
    t.Current("铁箱") = v1
Else
    t.Current("铁箱") = Nothing
End If
Dim v2 = val(e.Form.controls("textbox2").text)
If v2 > 0 Then
    str &= v2 & "铁筐"
    t.Current("铁筐") = v2
Else
    t.Current("铁筐") = Nothing
End If
Dim v3 = val(e.Form.controls("textbox3").text)
If v3 >0 Then
    str &= v3 & "袋子"
    t.Current("袋子") = v3
Else
t.Current("袋子") = Nothing
End If
Dim v4 = val(e.Form.controls("textbox4").text)
If v4 >0 Then
    str &= v4 & "托盘"
    t.Current("托盘") = v4
Else
t.Current("托盘") = Nothing
End If
e.Form.DropDownBox.value = str.trim("")

--  作者:有点甜
--  发布时间:2018/11/28 17:04:00
--  

先去看视频教程吧。

 

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187

 

代码2楼如果不理解,去看视频;如果理解了,自己就可以简化。