以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 排号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130983) |
|
-- 作者:刘林 -- 发布时间:2019/2/13 16:31:00 -- 排号
|
|
-- 作者:有点甜 -- 发布时间:2019/2/13 17:18:00 -- Dim dt As DataTable = DataTables("zk") Dim kds = dt.GetValues("kdxxdm") dt.ResumeRedraw()
|
|
-- 作者:刘林 -- 发布时间:2019/2/13 18:13:00 -- Dim cut As Integer = DataTables("zk").DataRows.Count For Each dr As DataRow In DataTables("zk").DataRows dr("ksh") = rand.Next(0,cut) Next Dim kds As List(Of String)= DataTables("zk").GetValues("kdxxdm") Dim kch As Integer = 0 For Each kd As String In kds Dim drs As List(Of DataRow)= DataTables("zk").Select("kdxxdm = \'" & kd & "\'","ksh") Dim zwh As Integer = 1 Dim ws As Integer = drs.Count Mod 30 Dim kczs As Integer = iif(ws>10,Math.Floor(drs.count/30)+1,Math.Floor(drs.count/30)) kch=kch+1 Dim i As Integer=1 For Each dr As DataRow In drs dr("ksh")= Format(kch,"000") & Format(zwh,"00") zwh=zwh+1 If zwh>30 And i<=kczs-1 zwh=1 kch=kch+1 i=i+1 End If Next Tables("zk").sort="kdxxdm,ksh" Next 老师,我出试着了做出的结果这样请老师看下有漏洞没有
|
|
-- 作者:刘林 -- 发布时间:2019/2/13 18:18:00 -- 测试了上面代码当换一考点了,考试室没有变,坐位号也是顺到走的,因为换了考点了,考试室要进一,并且考试号也应坐位应从第01开始 |
|
-- 作者:有点甜 -- 发布时间:2019/2/13 22:54:00 -- Dim dt As DataTable = DataTables("zk") Dim kds = dt.GetValues("kdxxdm") dt.ResumeRedraw() |
|
-- 作者:刘林 -- 发布时间:2019/2/13 23:05:00 -- 谢谢,对了,我做的也可以,但比你这个就整复杂了,谢谢 但还有个问题就是当余数不足10个就在最后一个考试室一并安排这个没有处理到
[此贴子已经被作者于2019/2/13 23:07:11编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2019/2/14 9:00:00 -- Dim dt As DataTable = DataTables("zk") Dim kds = dt.GetValues("kdxxdm") dt.ResumeRedraw() |