Foxtable(狐表)用户栏目专家坐堂 → 排序问题


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

主题:排序问题

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
排序问题  发帖心情 Post By:2022/4/20 8:59:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:01.jpg
图片点击可在新窗口打开查看

 tv.BuildTree("面料规格表", "规格类别|名称|规格", "","规格类别,代码")
如图,在图片中C8S被排在最后,是因为在C后面的数字8最大,排序并没有考虑字符串的长度
请问有什么办法或者代码让它按照我们常规的排序呢(也就是C8S,C10S....)

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/20 9:10:00 [显示全部帖子]

但是这些字符串是特定的,而且并不是单一的,怎么办呢,如果改为08的话性质就完全不一样了啊

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/20 9:13:00 [显示全部帖子]

是不是只能手工排序吗?

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/20 11:06:00 [显示全部帖子]

我在想,有没有代码能将这里的数字补齐
比如说C8S,补齐后变成C008S;C40S,补齐后变成C040S;T75D/SF20D,补齐后变成T075D/SF020D
如果有这个代码怎么写

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/20 11:23:00 [显示全部帖子]

有没有办法用IsLetter 和IsDigit来处理呢?

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/20 14:22:00 [显示全部帖子]

Dim s As String = "T75D/SF20D"
Dim p As String = "\D+"
Dim r As New System.Text.RegularExpressions.Regex(p)
Dim str = r.Split(s)
For Each a As String In str
    If a > "" Then
        s = s.Replace(a, a.PadLeft(3, "0"))
    End If
Next
msgbox(s)

请问这两句是什么意思?

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


加好友 发短信
等级:一尾狐 帖子:437 积分:2943 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2022/4/20 14:37:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:02.jpg
图片点击可在新窗口打开查看

显示不对啊,这是怎么回事?

 回到顶部