Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

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

1楼
yangming 发表于:2009/11/15 17:05:00

GetComboListString(ColumnName,Filter)

ColumnName:列名称,从此列中提取不重复的值。
Filter:     可选参数,指定一个条件表达式,只返回符合此条件的值。

能否给GetComboListString 增加一个排序参数?
就如同:GetComboListString(ColumnName,Filter,Sort)

Tables("订单").Cols("客户").ComboList = DataTables("客户").GetComboListString("客户名称","",id)


[此贴子已经被狐狸爸爸于2009-11-16 16:50:01编辑过]
2楼
czy 发表于:2009/11/15 17:13:00
记得老六说不行的。
3楼
yangming 发表于:2009/11/15 17:46:00
以下是引用hnaysx在2009-11-15 17:34:00的发言:

请问 客户名称相同的 ID 是否相同?

如果是一一对应应该可以,如果不是一一对应,得到的不重复的客户名称 使用那一条记录的ID?

[此贴子已经被作者于2009-11-15 17:35:22编辑过]

ID不同,我这儿的ID就是排序列

4楼
yangming 发表于:2009/11/15 17:46:00
以下是引用czy在2009-11-15 17:13:00的发言:
记得老六说不行的。

目录树的排序解决了,但是列表项的排序并没有解决

5楼
狐狸爸爸 发表于:2009/11/16 8:31:00
呵呵,这个加不了的
6楼
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("客户").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编辑过]
7楼
mr725 发表于: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编辑过]
8楼
yangming 发表于:2009/11/16 11:19:00
谢谢 mr725老师,目前就是按拼音排序的,我是想按我输入的顺序排序,
9楼
mr725 发表于: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编辑过]
共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02734 s, 2 queries.