以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何进行多层次排名? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42405) |
||||
-- 作者:hrw68529 -- 发布时间:2013/11/11 9:08:00 -- [求助]如何进行多层次排名? 如下图: 此主题相关图片如下:面试排名.png 1、相同职位代码的总成绩,进行面试排名; 2、如果总成绩相同,则看相同职位下的笔试成绩,笔试成绩大的排名在前; 3、如果笔试成绩也相同,则看相同职位代码下的行测成绩,行测成绩大的排名在前,如果行测成绩也相同,则排名相同 下边代码如何修改: \'获得所有职位代码,保存在集合中 Dim bjs As List(Of String) = Tables("面试成绩_笔试").DataTable.GetUniqueValues("","职位代码") For Each bj As String In bjs \'获得该职位代码的全部行,按总分降序排序 Dim drs As List(Of DataRow) = Tables("面试成绩_笔试").DataTable.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 Next Next |
||||
-- 作者:Bin -- 发布时间:2013/11/11 9:42:00 -- CurrentTable.Filter="" CurrentTable.Sort="第一列,第三列" Dim bjs As List(Of String) = Tables("面试成绩_笔试").DataTable.GetUniqueValues("","职位代码") For Each bj As String In bjs \'获得该职位代码的全部行,按总分降序排序 Dim drs As List(Of DataRow) = Tables("面试成绩_笔试").DataTable.Select("[职位代码] = " & bj, "总成绩 DESC") For n As Integer = 0 To drs.Count - 1 \'遍历所有行 If n > 0 AndAlso drs(n)("总成绩") = drs(n-1)("总成绩") Then \'如果总分和上一行相同 If drs(n)("笔试成绩") = drs(n-1)("笔试成绩") Then If drs(n)("行测成绩") = drs(n-1)("行测成绩") Then drs(n)("面试排名") = drs(n-1)("面试排名") \'则排名等于上一行 Else If drs(n)("行测成绩") > drs(n-1)("行测成绩") Then drs(n)("面试排名")=n+2 drs(n-1)("面试排名") = n + 1 Else drs(n)("面试排名") = n + 1 \'设置排名 End If Else If drs(n)("笔试成绩") > drs(n-1)("笔试成绩") Then drs(n)("面试排名")=n+2 drs(n-1)("面试排名") = n + 1 Else drs(n)("面试排名") = n + 1 \'设置排名 End If Else drs(n)("面试排名") = n + 1 \'设置排名 End If Next Next 大概是这样,没有例子没办法测试,不能保证正确性.
|
||||
-- 作者:hrw68529 -- 发布时间:2013/11/11 9:56:00 -- 谢谢,我试着做一下, |
||||
-- 作者:Bin -- 发布时间:2013/11/11 9:58:00 -- CurrentTable.Filter="" CurrentTable.Sort="第一列,第三列" |
||||
-- 作者:hrw68529 -- 发布时间:2013/11/11 9:58:00 --
|
||||
-- 作者:Bin -- 发布时间:2013/11/11 9:58:00 --
|
||||
-- 作者:hrw68529 -- 发布时间:2013/11/11 10:01:00 -- 谢谢 |
||||
-- 作者:hrw68529 -- 发布时间:2013/11/11 10:53:00 -- 我也弄不好了,把系统发给你,请你帮忙解决一下,谢谢 软件如下:代码在面试成绩窗口中的排名按键中 如下:
|
||||
-- 作者:hrw68529 -- 发布时间:2013/11/11 11:24:00 -- 可以解决吗,BIN |
||||
-- 作者:Bin -- 发布时间:2013/11/11 11:56:00 -- .
|