以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]table表中如何进行排序?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42287)

--  作者:hrw68529
--  发布时间:2013/11/7 16:42:00
--  [求助]table表中如何进行排序?
下面这段代码是在datatables中进行排序用的,如果我用的副本表进行排序,如何修改代码?

\'获得所有班级名称,保存在集合中
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


--  作者:Bin
--  发布时间:2013/11/7 16:46:00
--  
DataTables("成绩表")  换为 tables("窗口1_Table1").Datatable    即可
--  作者:hrw68529
--  发布时间:2013/11/7 16:48:00
--  
谢谢
--  作者:hrw68529
--  发布时间:2013/11/7 16:57:00
--  
换了以后不行啊
--  作者:狐狸爸爸
--  发布时间:2013/11/7 17:37:00
--  

副本的数据来自正本,正版的数据改了,副本的数据也会改,所以无所谓这根本和副本。

 

唯一的需要注意最后排序要改为:

 

tables("窗口1_Table1").sort = “总分 Desc”