以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  按勾选顺序排列字符串  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=136992)

--  作者:蓝蚂蚁
--  发布时间:2019/6/26 8:30:00
--  按勾选顺序排列字符串


图片点击可在新窗口打开查看此主题相关图片如下:image 2.jpg
图片点击可在新窗口打开查看

\'\'\'
Dim t As Table =e.Form.controls("Table1").Table
For Each r As Row In t.rows
    Dim d2 As Row =e.form.controls("Table2").Table.AddNew
    If r IsNot Nothing Then
        d2("目录编号") = r("目录编号")
        d2("组件名称") = r("组件名称")
        d2("规格型号") = r("规格型号")
        d2("生产企业") = r("生产企业")
    End If
    Dim str As String
    Dim str2 As String
    str=""
    str2=""
    Dim cntdrs As List(Of DataRow)= DataTables("贮存内容表").Select("勾选=True")
    For Each cntdr As DataRow In cntdrs
        str &= "、" & cntdr("贮存条件")
        str = str.trim("、")
        str2="贮存于" & str
        Dim idx = str2.LastIndexOf("、")
        If idx >= 0 Then
            d2("贮存条件")= str2.SubString(0, idx) & str2.SubString(idx+1)  \'按上图勾选的顺序排列这个字符串,比如:勾选顺序是第二行/第一行/最末行,得到的字符串应该是:贮存于阴凉相对湿度不超过80%的环境中。请问老师该如何修改代码,谢谢!
        End If
    Next   
Next
Dim gxs As List(Of DataRow)= DataTables("贮存内容表").Select("勾选=True")
For Each gx As DataRow In gxs
    gx("勾选")=False
Next


--  作者:有点甜
--  发布时间:2019/6/26 9:57:00
--  

方法一:加入辅助列,勾选之后,读取勾选了多少个,给辅助列赋值 1、2、3、4 的数值,然后根据辅助列排序取出;

 

方法二:勾选之后,直接给全局变量赋值对应的值,然后直接取变量值