添加对应的
语文年级排名、语文班级排名等等列,然后代码条件改为年级不就行了
Tables("学生成绩汇总表").StopRedrawDim 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 i As Integer = 0 To bjs.Count -1
Dim drs As List(Of DataRow) = DataTables("学生成绩汇总表").Select("[年级] = " & bjs(i), 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