以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]排名问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50366)

--  作者:hrw68529
--  发布时间:2014/5/5 17:27:00
--  [求助]排名问题
下述代码中,如果同一职位代码的总成绩相同,应标识,怎么改代码,谢谢(加红的地方)

\'获得所有班级名称,保存在集合中
Dim bjs As List(Of String) = DataTables("笔试成绩").GetValues("职位代码")
For Each bj As String In bjs
    \'获得该班级的全部行,按总分降序排序
    Dim drs As List(Of DataRow) = DataTables("笔试成绩").Select("[职位代码] = " & bj, "总成绩 DESC")
    For n As Integer = 0 To drs.Count - 1 \'遍历所有行
        If n > 0 AndAlso drs(n)("总成绩") = drs(n-1)("总成绩") Then \'如果总分和上一行相同
            drs(n)("面试排名") = drs(n-1)("面试排名") \'则排名等于上一行
        Else
            drs(n)("面试排名") = n + 1 \'设置排名
        End If
        If drs(n)("总成绩") = drs(n-1)("总成绩")  Then
            drs(n)("标识") = True
            drs(n-1)("标识") = True
        Else
            drs(n)("标识") = False
        End If
    Next
Next
e.Form.Controls("笔试").Table.Sort="职位代码,面试排名"

--  作者:Bin
--  发布时间:2014/5/5 17:33:00
--  
If n>0 AndAlso  drs(n)("总成绩") = drs(n-1)("总成绩")  Then
            drs(n)("标识") = True
            drs(n-1)("标识") = True
        Else
            drs(n)("标识") = False
        End If

--  作者:hrw68529
--  发布时间:2014/5/5 17:39:00
--  
谢谢,管用,我真是个笨蛋,