Foxtable(狐表)用户栏目专家坐堂 → 随机抽取的问题


  共有1389人关注过本帖平板打印复制链接

主题:随机抽取的问题

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


加好友 发短信
等级:五尾狐 帖子:1172 积分:8772 威望:0 精华:0 注册:2012/4/18 16:28:00
随机抽取的问题  发帖心情 Post By:2017/9/26 9:39:00 [只看该作者]

请教老师,下面代码根据帮助上洗牌抽取,

 

想实现的是,例如,第一次随机抽取了其中的10行,第二次再随机抽取10行,但是第二次随机抽取的10行中包含第一次抽取中的5行

 

目前第一次抽取的行比较相邻排序,99,82,76,61,50,48,33,25,10 怎样能再分开一些,目前有1000多行

 

第一次       第二次

11              22

12              67

15              56

19              11

18              20

13              71

16              15

14              49

20              13

22              99

 

 

Dim cnt As Integer = DataTables("表C").DataRows.Count

Dim ids1 As New List(of Integer) '用于存储洗牌前的位置

Dim ids2 As New List(of Integer) '用于存储洗牌后的位置

For i As Integer = 0 To cnt -1 '准备初始的牌

    ids1.add(i)

Next

For i As Integer = 0 To cnt - 1 '开始洗牌

    ids2.Add(ids1(rand.Next(0,ids1.count)))

Next

Tables("表C").StopRedraw()

DataTables("表C").ReplaceFor("选择",False)

For i As Integer = 0 To 10 - 1 '10为要抽取的行数

    DataTables("表C").DataRows(ids2(i))("选择") = True

Next

Tables("表C").Filter = "[选择] = True"

Tables("表C").ResumeRedraw()

[此贴子已经被作者于2017/9/26 10:06:47编辑过]

 回到顶部