以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]时间排序 竟报错,上代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39718)

--  作者:有点甜
--  发布时间:2013/8/30 23:17:00
--  
 特意做了一个例子,测试正常。你重新打开项目试试。
--  作者:程兴刚
--  发布时间:2013/8/30 23:32:00
--  

 If DataTables("登录名表").DataRows.Count >0
        Dim namex As WinForm.ComboBox = e.Form.Controls("ComboBox1")

        namex.ComboList = DataTables("登录名表").GetComboListString("用户姓名")
        namex.DataSort = "最后登录时间 DESC"
        namex.SelectedIndex = 0

End If

 

或者这样试试:

 

 If DataTables("登录名表").DataRows.Count >0
        Dim namex As WinForm.ComboBox = e.Form.Controls("ComboBox1")

        namex.ComboList = DataTables("登录名表").GetComboListString("用户姓名","","最后登录时间 DESC")
        namex.SelectedIndex = 0

End If


--  作者:程兴刚
--  发布时间:2013/8/31 11:08:00
--  

要不把第二段代码改成这样,也应该好用:

 

If DataTables("登录名表").DataRows.Count >0
        Dim namex As WinForm.ComboBox = e.Form.Controls("ComboBox1")

        namex.ComboList = DataTables("登录名表").GetComboListString("用户姓名","用户姓名<>\'\'","最后登录时间 DESC")
        namex.SelectedIndex = 0

End If

 

如果这样可以,建议贺老师改进GetComboListString,允许将条件表达式设置为空,相当于无过滤条件。


--  作者:程兴刚
--  发布时间:2013/8/31 12:05:00
--  

请看DataSort的详细说明:

 

http://www.foxtable.com/help/topics/1889.htm

 

前提是列表项目来自于数据表时,您的列表项目是否来自于数据表,也是原因之一!