以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于字母排序的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=30650)

--  作者:若水三千
--  发布时间:2013/4/1 15:51:00
--  关于字母排序的问题
 我有姓名字段  列 根据 GETPY 获取了每个名字的首字母 请问 如何将这些按拼音字母的顺序排列呢 首字母就可以

--  作者:Bin
--  发布时间:2013/4/1 15:55:00
--  
数字怎么排序 字母就怎么排序 一样的哦
--  作者:若水三千
--  发布时间:2013/4/1 16:02:00
--  
 没明白您的意思  我的时 首字母 按照26个字母的顺序排序 把我表中的 姓名 按26个字母的顺序排序啊

--  作者:Bin
--  发布时间:2013/4/1 16:05:00
--  
以下是引用若水三千在2013-4-1 16:02:00的发言:
 没明白您的意思  我的时 首字母 按照26个字母的顺序排序 把我表中的 姓名 按26个字母的顺序排序啊
根本不用那么麻烦。。Tables("表A").Sort="姓名"  


--  作者:若水三千
--  发布时间:2013/4/1 18:30:00
--  
 好的
--  作者:程兴刚
--  发布时间:2013/4/1 18:38:00
--  

最好这样,一次做到永久性排序:

 

Tables("表A").Sort="姓名"

Dim drs As List(of DataRow) = DataTables("A").Select("","[_SortKey]")
For
i As Integer = 0 To drs.Count - 1
    drs(i).BaseRow("_SortKey") = i
Next

Tables("表A").Sort=""


--  作者:若水三千
--  发布时间:2013/4/4 7:44:00
--  
 狐狸爸爸你这段代码放到项目事件中提示错误 没有sortkey列

--  作者:若水三千
--  发布时间:2013/4/4 8:04:00
--  
 还有 我按照

Tables("表A").Sort = "首字母"

排序的时候 我表A中有250条数据  可是他只排列而来55个


--  作者:程兴刚
--  发布时间:2013/4/4 8:53:00
--  
以下是引用若水三千在2013-4-4 8:04:00的发言:
 还有 我按照

Tables("表A").Sort = "首字母"

排序的时候 我表A中有250条数据  可是他只排列而来55个

 

这是不应该的,前面的代码是我测试过了的,请发示例文件!


--  作者:程兴刚
--  发布时间:2013/4/4 15:17:00
--  
Dim s As String = "不评定|六|五|四|三|二|一
Select Case e.DataCol.Name
    Case "分"
        If e.NewValue > -1 And e.NewValue < 7
            Dim n As Integer = e.NewValue
           
            e.DataRow("评定等级") = s.split("|")(n)
            e.DataRow("思想分") = 55
            e.DataRow("政治分") = 45 +n
            Dim drs As List(Of DataRow) = e.DataTable.Select("分 = " & e.NewValue,"_SortKey",-2)
            If drs.Count > 1
                Dim lc As String = drs(drs.Count-2)("备注")
                If lc = "做袖子"
                    e.DataRow("备注") = "做口袋"
                Else If lc = "做口袋"
                    e.DataRow("备注") = "行棉"
                Else
                    dr("备注") = "做袖子"
                End If
            End If
        Else
            dr("备注") = "做袖子"
        End If
    End If
End Select