Foxtable(狐表)用户栏目专家坐堂 → [求助]多值字段随机抽取问题


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

主题:[求助]多值字段随机抽取问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/9 16:44:00 [显示全部帖子]

参考代码

 

Dim w = "星期一"
Dim s = "赵大,钱二,孙三,李四"
Dim ary = s.split(",")
Dim n = 2
Dim ls As new List(Of String)
Do While ls.count < n
    Dim i = Rand.Next(0, ary.length)
    output.show(i)
    If ls.Contains(ary(i)) = False Then
        ls.add(ary(i))
        msgbox(ary(i))
    End If
Loop

[此贴子已经被作者于2019/6/10 15:42:01编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/9 17:42:00 [显示全部帖子]

 

参考3楼代码,不会做,请上传具体foxtable项目。

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/10 8:39:00 [显示全部帖子]

Dim weeks() As String = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}

If e.DataCol.name = "出车日期" Then '如果更改的日期列
    If e.DataRow.IsNull("出车日期") Then '日期是否为空
        e.DataRow("出车组别") = Nothing '如果为空,则清除星期
        e.DataRow("出车司机_1_姓名") = Nothing
        e.DataRow("出车司机_2_姓名") = Nothing
    Else '否则计算星期几
        e.DataRow("出车组别") = weeks(e.newvalue.dayofweek)
        Dim w = weeks(e.newvalue.dayofweek)
        Dim fdr As DataRow = DataTables("值班表").find("组别='" & w & "'")
        Dim s = fdr("值班司机")
        Dim ary = s.split(",")
        Dim n = 2
        If ary.length >= n Then
            Dim ls As new List(Of String)
            Do While ls.count < n
                Dim i = Rand.Next(0, ary.length)
                If ls.Contains(s) = False Then
                    ls.add(ary(i))
                End If
            Loop
            e.DataRow("出车司机_1_姓名") = ls(0)
            e.DataRow("出车司机_2_姓名") = ls(1)
        End If
    End If
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/10 15:42:00 [显示全部帖子]

改一下代码

 

Dim weeks() As String = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}

If e.DataCol.name = "出车日期" Then '如果更改的日期列
    If e.DataRow.IsNull("出车日期") Then '日期是否为空
        e.DataRow("出车组别") = Nothing '如果为空,则清除星期
        e.DataRow("出车司机_1_姓名") = Nothing
        e.DataRow("出车司机_2_姓名") = Nothing
    Else '否则计算星期几
        e.DataRow("出车组别") = weeks(e.newvalue.dayofweek)
        Dim w = weeks(e.newvalue.dayofweek)
        Dim fdr As DataRow = DataTables("值班表").find("组别='" & w & "'")
        Dim s = fdr("值班司机")
        Dim ary = s.split(",")
        Dim n = 2
        If ary.length >= n Then
            Dim ls As new List(Of String)
            Do While ls.count < n
                Dim i = Rand.Next(0, ary.length)
                If ls.Contains(ary(i)) = False Then
                    ls.add(ary(i))
                End If
            Loop
            e.DataRow("出车司机_1_姓名") = ls(0)
            e.DataRow("出车司机_2_姓名") = ls(1)
        End If
    End If
End If


 回到顶部