以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  对学生成绩的动态排名  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=13007)

--  作者:明帆
--  发布时间:2011/9/23 23:08:00
--  对学生成绩的动态排名
 最近在用foxtable做一个教学管理的系统,由于自己是新手,所以对于要对学生的总分进行排名并显示名次的功能实现不了,请各位高手支招图片点击可在新窗口打开查看
--  作者:程兴刚
--  发布时间:2011/9/23 23:18:00
--  
您应该制作一个示例文件,哪里卡壳解决哪里,这样泛泛的问题让人不知道从哪里回答您,抱歉!
--  作者:don
--  发布时间: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


--  作者:狐狸爸爸
--  发布时间:2011/9/24 8:47:00
--  

看这里的示例三:

 

http://www.foxtable.com/help/topics/0400.htm

 

不过作为初学者,最好先系统性地看两遍帮助,才能更好地理解。