示例三
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