Foxtable(狐表)用户栏目专家坐堂 → [求助]如何进行多层次排名?


  共有7564人关注过本帖树形打印复制链接

主题:[求助]如何进行多层次排名?

帅哥哟,离线,有人找我吗?
狐狸爸爸
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/11 11:56:00 [只看该作者]

直接在命令窗口执行:

 

For Each zw As String  In DataTables("笔试成绩").GetValues("职位代码")
    Dim drs As List(of DataRow) = DataTables("笔试成绩").Select("职位代码 = '" & zw & "'","总成绩 DESC, 笔试总成绩 DESC,行测成绩 Desc")
    If drs.count > 0 Then
        drs(0)("排名") = 1
        For i As Integer = 1 To drs.count -1
            If drs(i)("总成绩") < drs(i-1)("总成绩") OrElse drs(i)("笔试总成绩") < drs(i-1)("笔试总成绩") OrElse drs(i)("行测成绩") < drs(i-1)("行测成绩") Then
                drs(i)("排名") = i + 1
            Else
                drs(i)("排名") = drs(i-1)("排名")
            End If
        Next
    End If
Next

这个代码针对主表,如果你要针对窗口中的表,改一下表名就行。

[此贴子已经被作者于2013-11-11 12:16:05编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/11 12:04:00 [只看该作者]

狐表这个比我10楼的例子简洁一点,但是执行好像不太正确.

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/11 12:07:00 [只看该作者]

呵呵,从代码逻辑来说,没有道理会不正确啊

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/11 12:09:00 [只看该作者]

.
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20131111120905.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/11/11 12:18:00 [只看该作者]

这样就对了,忘记加1:

 

For Each zw As String  In DataTables("笔试成绩").GetValues("职位代码")
    Dim drs As List(of DataRow) = DataTables("笔试成绩").Select("职位代码 = '" & zw & "'","总成绩 DESC, 笔试总成绩 DESC,行测成绩 Desc")
    If drs.count > 0 Then
        drs(0)("排名") = 1
        For i As Integer = 1 To drs.count -1
            If drs(i)("总成绩") < drs(i-1)("总成绩") OrElse drs(i)("笔试总成绩") < drs(i-1)("笔试总成绩") OrElse drs(i)("行测成绩") < drs(i-1)("行测成绩") Then
                drs(i)("排名") = i +1
            Else
                drs(i)("排名") = drs(i-1)("排名")
            End If
        Next
    End If
Next


 回到顶部
帅哥,在线噢!
hrw68529
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:8818 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2013/11/11 13:41:00 [只看该作者]

你好,你发来的版本太高了, 我打不开,能否将代码贴出来,谢谢

 回到顶部
帅哥,在线噢!
hrw68529
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:8818 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2013/11/11 13:56:00 [只看该作者]

出现这个对话框,怎么办?
图片点击可在新窗口打开查看此主题相关图片如下:不是成员.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/11 14:01:00 [只看该作者]

只有最新版本才有 GetValues.

 回到顶部
帅哥,在线噢!
hrw68529
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1140 积分:8818 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2013/11/11 14:03:00 [只看该作者]

哪有没有可以替代的


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/11/11 14:05:00 [只看该作者]

请更新最新版本即可.

 回到顶部
总数 41 上一页 1 2 3 4 5 下一页