Foxtable(狐表)用户栏目专家坐堂 → 排班(遍历)方法思路求教


  共有6843人关注过本帖树形打印复制链接

主题:排班(遍历)方法思路求教

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/24 11:23:00 [显示全部帖子]

函数:
Dim drs = args(0)
Dim ls = args(1)
Dim level = args(2)
If level = drs.count Then
    output.show(vars("idx") & " - " & String.Join("|", ls.ToArray))
    vars("idx") += 1
Else
    For Each s As String In drs(level)("第二列").split(",")
        Dim iscontains = False
        For i As Integer = 0 To level-1
            If ls(i) = s Then
                iscontains = True
                Exit For
            End If
        Next
        If iscontains Then Continue For
        If ls.count < level+1 Then
            ls.add(s)
        Else
            ls(level) = s
        End If
        functions.Execute("loop", drs, ls, level+1)
    Next
End If

调用

Dim dt As DataTable = DataTables("表A")
Dim drs = dt.Select("第二列 is not null")
Dim ls As new List(Of String)
vars("idx") = 1
Functions.Execute("loop", drs, ls, 0)

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/26 22:18:00 [显示全部帖子]

If level = drs.count Then
    drs(0)("可能性") = drs(0)("可能性") & vars("idx") & String.Join(",", ls.ToArray) & ";" & vbcrlf
    vars("idx") += 1
    vars("暂停") = True
Else

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/3/17 17:34:00 [显示全部帖子]

这个没有办法,不是死机,只是运行会等待比较久。想想你一口气爬120层楼,会要多长时间......

 回到顶部