Foxtable(狐表)用户栏目专家坐堂 → 能否给GetComboListString 增加一个排序参数?


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

主题:能否给GetComboListString 增加一个排序参数?

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/16 10:34:00 [显示全部帖子]

这个狐爸总是这么小气,那咱们就自己做一个排序,仅供参考:

Dim g As New GroupTableBuilder("lb", DataTables("客户"))
g.Groups.AddDef("客户名称")
g.Build()

dim p0 as String
dim p as String = DataTables("客户").GetComboListString("客户名称")
For n As integer = p.split("|").length- 1 to 0 step -1   ' '这是降序! 升序这样 0 to p.split("|").length- 1
    p0 = p0  & "|" & p.split("|")(n)
Next
Tables("订单").Cols("客户").ComboList  = p0    '或: p0.substring(1) 》删除第一个 "|"  符号
MainTable = Tables("订单")

只是汉字的排序,有个多音字的现象,如:重 是无法排到拼音 c 开头的里面,而是排到 z 开头的拼音里面。
[此贴子已经被作者于2009-11-16 10:48:32编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/16 11:14:00 [显示全部帖子]

以下是引用mr725在2009-11-16 10:34:00的发言:
这个狐爸总是这么小气,那咱们就自己做一个排序,仅供参考:

Dim g As New GroupTableBuilder("lb", DataTables("客户"))
g.Groups.AddDef("客户名称")
g.Build()

dim p0 as String
dim p as String = DataTables("lb").GetComboListString("客户名称")
For n As integer = p.split("|").length- 1 to 0 step -1   ' '这是降序! 升序这样 0 to p.split("|").length- 1
    p0 = p0  & "|" & p.split("|")(n)
Next
Tables("订单").Cols("客户").ComboList  = p0    '或: p0.substring(1) 》删除第一个 "|"  符号
MainTable = Tables("订单")

只是汉字的排序,有个多音字的现象,如:重 是无法排到拼音 c 开头的里面,而是排到 z 开头的拼音里面。
[此贴子已经被作者于2009-11-16 10:48:32编辑过]

[此贴子已经被作者于2009-11-16 11:23:20编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/11/16 12:24:00 [显示全部帖子]

以下是引用yangming在2009-11-16 11:19:00的发言:
谢谢 mr725老师,目前就是按拼音排序的,我是想按我输入的顺序排序,

这个也可以用代码搞定:


Dim g As New GroupTableBuilder("临时表", DataTables("客户"))
g.Groups.AddDef("客户名称")
g.Build()

With DataTables("临时表")
    .DataCols.Add("输入顺序", GetType(integer))
End With

for n as integer = 0 to tables("临时表").count-1
    Dim dr As integer
    dr = DataTables("客户").Compute("min(输入的序号)", "[客户名称] = '" & tables("临时表").rows(n)("客户
名称") & "'")
    tables("临时表").rows(n)("输入顺序") = dr
next

tables("临时表").sort = "输入顺序"
dim p0 as String
For n As integer = 0 to tables("临时表").count-1
    p0 = p0  & "|" & tables("临时表").rows(n)("客户名称")
Next
'生产列表项目::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Tables("订单").Cols("客户").ComboList  =  p0    '或:p0.substring(1)  ' 

[此贴子已经被作者于2009-11-16 12:40:54编辑过]

 回到顶部