以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]Combolist中值的排序求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76004) |
-- 作者:huangfanzi -- 发布时间:2015/10/19 20:01:00 -- [求助]Combolist中值的排序求助 e.Form.Controls("CheckedComboBox_本厂牌号").Combolist = "全选|" & _dt工序合并表.SQLGetComboListString("牌号","库存标记 = 1","牌号") 上面代码中,不加黄底的排序条件可生成Combolist,但值乱序,想根据牌号排个序便加了排序条件,可这样一来Combolist中没有值了,何解?
|
-- 作者:大红袍 -- 发布时间:2015/10/19 20:05:00 -- 不可能,只要你列名没写错,就不可能没值 |
-- 作者:huangfanzi -- 发布时间:2015/10/19 20:25:00 -- 真的好奇怪,如果我把代码改成: e.Form.Controls("CheckedComboBox_本厂牌号").Combolist = "全选|" & _dt工序合并表.SQLGetComboListString("牌号","工序 Like \'销售出库%\' And 库存标记 = 1") 上面的代码生成的下拉是按内容值排序的 但把代码写成: e.Form.Controls("CheckedComboBox_本厂牌号").Combolist = "全选|" & _dt工序合并表.SQLGetComboListString("牌号","库存标记 = 1") 或写成: e.Form.Controls("CheckedComboBox_本厂牌号").Combolist = "全选|" & _dt工序合并表.SQLGetComboListString("牌号","工序 <> \'\' And 库存标记 = 1") 上面的代码能生成下拉,但值不会排序
|
-- 作者:大红袍 -- 发布时间:2015/10/19 20:33:00 -- 你的是最新版11.11吗?这个版本不应该报错。
否则,如是sqlserver数据库,取值列和排序列相同的话,就有问题。
你可以用SqlGetValue,或者GetComboListString来做 |
-- 作者:huangfanzi -- 发布时间:2015/10/19 20:44:00 -- _dt工序合并表.LoadFilter = "库存标记 = 1" _dt工序合并表.Load e.Form.Controls("CheckedComboBox_本厂牌号").Combolist = "全选|" & _dt工序合并表.GetComboListString("牌号","库存标记 = True") 执行上面的代码生成的下拉是排序的,但这个效率不好,窗口打开时要停顿几秒才能打开,因为这时在执行_dt工序合并表.Load,如果用SqlGetValue,效率会高一点吗?
|
-- 作者:大红袍 -- 发布时间:2015/10/19 20:56:00 -- 呃,这种问题,你测试一下便知。
最后把集合拼凑成字符串即可 http://www.foxtable.com/help/topics/1423.htm
|