以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  仿照排名例子,增加条件后排名结果错误  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=142122)

--  作者:有点蓝
--  发布时间:2019/10/18 23:06: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(1) & "\'  and  [年级] = \'" &  bj(0)  & "\' And [班级] = \'" & bj(2) & "\'", "平均 DESC")

    For n As Integer = 0 To drs.Count - 1 \'遍历所有行

        If n > 0 AndAlso drs(n)("平均") = drs(n-1)("平均"Then \'如果总分和上一行相同

            drs(n)("mcdx") = drs(n-1)("mcdx"\'则排名等于上一行

        Else

            drs(n)("mcdx") = n + 1 \'设置排名

        End If

    Next

Next