Foxtable(狐表)用户栏目专家坐堂 → [求助]如何进行排序和填写等次列和筛选入围名单?


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

主题:[求助]如何进行排序和填写等次列和筛选入围名单?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/6 9:10:00 [显示全部帖子]

 楼主你干脆叫别人帮你设置整个软件算了。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/6 9:24:00 [显示全部帖子]

1、

For Each lb As String In DataTables("职称评审成绩").GetValues("单位类型")
    Dim zys As List(Of String) = DataTables("职称评审成绩").GetValues("专业组名称", "单位类型 = '" & lb & "'")
    For Each bj As String In zys
        Dim drs As List(Of DataRow) = DataTables("职称评审成绩").Select("单位类型 = '" & lb & "' and [专业组名称] = '" & 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
Next

e.Form.Controls("成绩").Table.Sort="单位类型,专业组名称,排名"

 

2、自己想办法

 

3、最基本的筛选也不会写?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/6 10:01:00 [显示全部帖子]

2、红色地方自己改

 

Dim dt As DataTable = DataTables("职称评审成绩")

Dim ttl As Double = e.Form.Controls("NumericComboBox1").Value
For Each lb As String In dt.GetValues("单位类型")
    Dim zys As List(Of String) = dt.GetValues("专业组名称", "单位类型 = '" & lb & "'")
    For Each bj As String In zys
        Dim drs As List(Of DataRow) = dt.Select("单位类型 = '" & lb & "' and [专业组名称] = '" & bj & "'", "最终成绩")
        Dim ttrs As Integer = drs.Count * ttl
        If ttrs < 1 Then '这种情况不知道什么意思,自己写
           
        Else
            For n As Integer = 0 To drs.Count - 1
                If n < ttrs Then
                    drs(n)("等次") = "末位淘汰"
                Else
                    drs(n)("等次") = "入围"
                End If
            Next
        End If
    Next
Next
dt.ReplaceFor("等次", "优秀等次", "最终成绩 >= 90")
dt.ReplaceFor("等次", "直接淘汰", "最终成绩 < 60")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/6 10:02:00 [显示全部帖子]

3、自己写

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/6 15:18:00 [显示全部帖子]

Dim dt As DataTable = DataTables("职称评审成绩")
Dim ttl As Double = e.Form.Controls("NumericComboBox1").Value
For Each lb As String In dt.GetValues("单位类型")
    Dim zys As List(Of String) = dt.GetValues("专业组名称", "单位类型 = '" & lb & "'")
    For Each bj As String In zys
        Dim drs As List(Of DataRow) = dt.Select("单位类型 = '" & lb & "' and [专业组名称] = '" & bj & "'", "最终成绩")
        Dim ttrs As Integer = drs.Count * ttl
        If ttrs < 1 Then '这种情况不知道什么意思,自己写For n As Integer = 0 To drs.Count - 1
            For n As Integer = 0 To drs.Count - 1
                drs(n)("等次") = "手工复审"
            Next
        Else
            For n As Integer = 0 To drs.Count - 1
                If n > ttrs Then
                    drs(n)("等次") = "末位淘汰"
                Else
                    drs(n)("等次") = "入围"
                End If
            Next
        End If
    Next
Next
dt.ReplaceFor("等次", "优秀等次", "最终成绩 >= 90")
dt.ReplaceFor("等次", "直接淘汰", "最终成绩 < 60")

 


e.Form.Controls("成绩").Table.Sort="单位类型,专业组名称,面试顺序"


 回到顶部