以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎么按1班的总分和2班的总分分别降序排序并得出名次(总分相同,名次一样)? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=171201) |
-- 作者:xhydxs -- 发布时间:2021/8/21 17:47:00 -- 怎么按1班的总分和2班的总分分别降序排序并得出名次(总分相同,名次一样)? 怎么按1班的总分和2班的总分分别降序排序并得出名次(总分相同,名次一样),谢谢? |
-- 作者:有点蓝 -- 发布时间:2021/8/22 20:09:00 -- 参考:http://www.foxtable.com/webhelp/topics/2382.htm |
-- 作者:xhydxs -- 发布时间:2021/8/23 12:34:00 -- 此主题相关图片如下:02.png 此主题相关图片如下:01.png 此主题相关图片如下:03.png |
-- 作者:有点蓝 -- 发布时间:2021/8/23 13:33:00 -- 代码直接发文字,不要截图,方便别人改 |
-- 作者:xhydxs -- 发布时间:2021/8/23 15:00:00 -- 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 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
|
-- 作者:有点蓝 -- 发布时间:2021/8/23 15:27:00 -- 岗位代码是字符列吧 |
-- 作者:xhydxs -- 发布时间:2021/8/23 16:24:00 -- 是的 |