Foxtable(狐表)用户栏目专家坐堂 → [求助]下列代码怎么不能排序?


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

主题:[求助]下列代码怎么不能排序?

帅哥哟,离线,有人找我吗?
hrw68529
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1142 积分:8900 威望:0 精华:0 注册:2012/7/10 9:09:00
[求助]下列代码怎么不能排序?  发帖心情 Post By:2017/4/7 8:07:00 [只看该作者]

目的:按职位代码和备注不等于“未过平均分”进行集合,然后按总成绩排序,如果总成绩相同,则按笔试总成绩排序,如果笔试总成绩相同,则按行测成绩排序,下列代码怎么生不成排序数字?请专家指导。

For Each zw As String  In DataTables("笔试成绩").GetValues("职位代码","备注 <> '未过平均分'")
    Dim sort As Integer =1
    Dim drs As List(of DataRow) = DataTables("笔试成绩").Select("职位代码 = '" & zw & "'and 备注 <> '未过平均分'","总成绩 DESC, 笔试总成绩 DESC,行测成绩 Desc")
    If drs.count > 0 Then
        drs(0)("进入体检排名") = 1
        drs(0)("标识") = False
        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
            If drs(i)("总成绩") = drs(i-1)("总成绩")  Then
                drs(i)("标识") = True
                drs(i-1)("标识") = True
            Else
                drs(i)("标识") = False
            End If
        Next
    End If
Next
e.Form.Controls("笔试").Table.Sort="职位代码,进入体检排名"

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/7 8:36:00 [只看该作者]

 那你执行的结果是什么?

 

 如果是空白,说明你 getValue 或者 Select 的条件有问题,加入msgbox看是否弹出

 

 


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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8900 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2017/4/7 8:36:00 [只看该作者]

执行结果为空白


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/7 8:44:00 [只看该作者]

以下是引用hrw68529在2017/4/7 8:36:00的发言:
执行结果为空白

 

在循环里面加入msgbox,如果没进入,说明你条件写错了,没找到数据。


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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8900 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2017/4/7 8:45:00 [只看该作者]

是的,可是怎么改呢


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/7 8:49:00 [只看该作者]

以下是引用hrw68529在2017/4/7 8:45:00的发言:
是的,可是怎么改呢

 

你备注列的内容是什么?尝试改成

 

"备注 not like '%未过平均分%'"

 


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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8900 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2017/4/7 8:52:00 [只看该作者]

备注栏,是字符型,内容:“未过平均分”和空白,刚才试一下,还是不行


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/7 8:55:00 [只看该作者]

以下是引用hrw68529在2017/4/7 8:52:00的发言:
备注栏,是字符型,内容:“未过平均分”和空白,刚才试一下,还是不行

 

如果你要取空白的值,要这样写

 

For Each zw As String  In DataTables("笔试成绩").GetValues("职位代码","备注 not like '%未过平均分%' or 备注 is null")

 

Dim drs As List(of DataRow) = DataTables("笔试成绩").Select("职位代码 = '" & zw & "'and (备注 not like '%未过平均分%' or 备注 is null)","总成绩 DESC, 笔试总成绩 DESC,行测成绩 Desc")

[此贴子已经被作者于2017/4/7 9:04:10编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1142 积分:8900 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2017/4/7 9:01:00 [只看该作者]

未知编译错误


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/7 9:04:00 [只看该作者]

For Each zw As String  In DataTables("笔试成绩").GetValues("职位代码","备注 not like '%未过平均分%' or 备注 is null")

 

Dim drs As List(of DataRow) = DataTables("笔试成绩").Select("职位代码 = '" & zw & "'and (备注 not like '%未过平均分%' or 备注 is null)","总成绩 DESC, 笔试总成绩 DESC,行测成绩 Desc")


 回到顶部
总数 11 1 2 下一页