-- 作者:13796361423
-- 发布时间:2020/11/20 15:35:00
-- 高效抽取
Dimcnt
AsInteger = DataTables("表A").DataRows.Count Dimids1
AsNew
List(ofInteger) \'用于存储洗牌前的位置 Dimids2
AsNew
List(ofInteger) \'用于存储洗牌后的位置 Fori
AsInteger = 0To
cnt -1\'准备初始的牌 ids1.add(i) Next Fori
AsInteger = 0To
cnt -1
\'开始洗牌 Dim
idxAs
Integer =ids1(rand.Next(0,ids1.count)) ids2.Add(idx) ids1.Remove(idx) Next Tables("表A").StopRedraw() DataTables("表A").ReplaceFor("选择",False) Fori
AsInteger = 0To
5 -1
\'100为要抽取的行数 DataTables("表A").DataRows(ids2(i))("选择") = True Next Tables("表A").Filter = "[选择] = True" Tables("表A").ResumeRedraw()
这个命令只能显示"[选择] = True"的行, 我想"[选择] = True"的行下面也同时显示"[选择] = false" , 也就是说打乱后,把所有行都显示出来,如何实现?
|