Tables("成绩表").StopRedraw Dim bjs As List(Of String()) = DataTables("成绩表").GetValues("学期|年级|班级","[班级] Is Not NULL") Dim Count As Integer Dim ColNames() As String = {"语文","数学","英语","化学","物理","总分"} Dim TotalName As String For Each ColName As String In ColNames For Each ary() As String In bjs Dim drs As List(Of DataRow) = DataTables("成绩表").Select("学期 = '" & ary(0) & "' and 年级 = '" & ary(1) & "' and 班级 = '" & ary(2) & "'", ColName & " DESC") Count = 0 TotalName = ColName & "排名" For n As Integer = 0 To drs.Count - 1 Count = Count + 1 If n > 0 AndAlso drs(n)(ColName ) = drs(n-1)(ColName) Then drs(n)(TotalName ) = drs(n-1)(TotalName ) Else drs(n)(TotalName ) = Count End If Next Next Next Tables("成绩表").Sort = "总分 DESC" Tables("成绩表").ResumeRedraw
|