Foxtable(狐表)用户栏目专家坐堂 → 按列中内容排序是否能实现?


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

主题:按列中内容排序是否能实现?

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
按列中内容排序是否能实现?  发帖心情 Post By:2017/6/30 0:43:00 [只看该作者]

学习帮助,有这样一条代码:Tables("订单").Sort = "客户,日期 DESC"
我的表中有“状态”列,列内的内容有“第一”,“第二”,“第三”,“第四”,“第五”,“第六”等,我想在窗口表中能够实现“第一”,“第二”,“第三”按顺序排在表的上面,其它不变,如表的列中没有这三个内容的时候则不排序,能否实现,求大侠指点?

 回到顶部
帅哥哟,离线,有人找我吗?
zsslly
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2017/6/30 9:23:00 [只看该作者]

我的这个列子中的“第一”,“第二”,“第三”,“第四”,“第五”,“第六”等只是我随意示意的,实际不是这样,按正常排序是乱的。早我在想,还有一种方法,设代码为:Tables("订单").Sort = "状态 DESC"
然后蒋“第一”,“第二”,“第三”的三个内容前加上字母如“A第一”,“B第二”,“C第三”,但更专业的用代码来排序应该怎么写呢?求指点?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/6/30 9:52:00 [只看该作者]

方法一: 必须添加辅助列,才能排序。根据你的规则,给那一列赋值。

 

方法二: 编写代码修改_Sortkey列的值,比如把第一赋值为 0、第二赋值为1,其余的,把其_Sortkey值+3


 回到顶部
帅哥哟,离线,有人找我吗?
zsslly
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2017/6/30 10:03:00 [只看该作者]

谢老师指点!
我添加一个“辅助排序”,想当我在“状态”列中选则内容为“第一”时则“辅助排序”中的内容自动出现“1”,当我在“状态”列中选则内容为“第二”时则“辅助排序”中的内容自动出现“2”,当我在“状态”列中选则内容为“第三”时则“辅助排序”中的内容自动出现“3”,当我在“状态”列中选则内容为“第四”时则“辅助排序”中的内容自动出现“4”,当我在“状态”列中选则其他内容时则“辅助排序”中的内容自动出现“5”,有没有知识点,或指点下代码,跪谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/6/30 10:14:00 [只看该作者]

 这些都是最基础的代码啊

 

If e.DataCol.Name = "第一列" Then
    Dim ary() As String = {"第一", "第二", "第三"}
    If e.NewValue = Nothing Then
        e.DataRow("第二列") = 999
    Else
        Dim i = array.indexof(ary, e.NewValue)
        If i >= 0 Then
            e.DataRow("第二列") = i
        Else
            e.DataRow("第二列") = 999
        End If
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
zsslly
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2017/6/30 10:25:00 [只看该作者]

不好意思老师,我的基本功不扎实,我会加油的!给您添麻烦了!

 回到顶部