Foxtable(狐表)用户栏目专家坐堂 → 对学生成绩的动态排名


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

主题:对学生成绩的动态排名

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2011/9/24 7:28:00 [显示全部帖子]

示例三

Filter参数不能省略,如果希望返回所有行,将Filter参数设置为""即可。
例如在一个成绩表中,包括班级、姓名、总分、总分排名几列数据,希望按班级自动生成总分排名

'获得所有班级名称,保存在集合中
Dim
bjs As List(Of String) = DataTables("成绩表").GetUniqueValues("","班级")
For Each
bj As String In bjs
   
'获得该班级的全部行,按总分降序排序
    Dim
drs As List(Of DataRow) = DataTables("成绩表").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

这是一个很典型的应用,可以参考CaseStudy目录下的文件:成绩排名.Table


 回到顶部