以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQLGetComboListString列表项目排序问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77744)

--  作者:huangfanzi
--  发布时间:2015/11/24 15:06:00
--  [求助]SQLGetComboListString列表项目排序问题
用于SQLGetComboListString的表通过全局变量的方式加载,生成的项目列表不会排序,例如下面代码,
项目事件Initialize
Dim cmd_工序合并表 As New SQLCommand
cmd_工序合并表.C
cmd_工序合并表.CommandText = "S elect * From {工序合并表} Where [_Identify] Is Null"
_dt工序合并表 = cmd_工序合并表.ExecuteReader(True)
窗口事件AfterLoad
e.Form.Controls("ComboBox_卷号").ComboList  = _dt工序合并表.SQLGetComboListString("卷号")


如果表加载了,就会像帮助文件写明的哪样会根据取值列排序,例如代码如下:
e.Form.Controls("ComboBox_卷号").ComboList  = DataTables("工序合并表“).SQLGetComboListString("卷号")

请问老师,有办法解决变量加载的表的排序问题吗?
[此贴子已经被作者于2015/11/24 15:06:19编辑过]

--  作者:大红袍
--  发布时间:2015/11/24 16:05:00
--  

如果是GetValues呢?如果正常,就用这个代替。

 

这样变通

 

Dim str As String = "123|321|1234"
Dim ary() As String = str.Split("|")
array.sort(ary)
str = String.Join("|", ary)
msgbox(str)


--  作者:huangfanzi
--  发布时间:2015/11/24 20:00:00
--  
一行代码解决的问题现在用了这么长代码
Dim PH As String = _dt工序合并表.SQLGetComboListString("牌号")
Dim ary() As String = PH.Split("|")
array.sort(ary)
PH = String.Join("|", ary)
e.Form.Controls("CheckedComboBox_牌号").ComboList  = "全选|" & PH
[此贴子已经被作者于2015/11/24 20:01:37编辑过]