以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  下拉列表排序求助  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=4658)

--  作者:实话实说
--  发布时间:2009/10/17 21:03:00
--  下拉列表排序求助
订单表的型号列取自产品表的型号
 

If MainTable.Name = "订单" Then \'如果选择的主表是订单表
    Tables("订单").Cols("产品").Combolist = DataTables("产品").GetComboListString("型号")
End
If

我想下拉列表按产品表的_Identify排序,代码加在哪?


--  作者:程兴刚
--  发布时间:2009/10/17 21:17:00
--  
按照用_Identify列排序,实际就是不排序,请参考这个帖子:


    http://fox.egridsoft.com/dispbbs.asp?BoardID=2&ID=4306&replyID=&skin=1

--  作者:实话实说
--  发布时间:2009/10/17 21:24:00
--  
不是这样的。我的产品规格列先后录入16和120(字符型)如果不指定_Identify排序,则订单表规格列下拉显示120和16
--  作者:程兴刚
--  发布时间:2009/10/17 21:26:00
--  
是不是大家帮您看,您自己多理解那个帖子就知道了!
--  作者:czy
--  发布时间:2009/10/17 22:36:00
--  
以下是引用实话实说在2009-10-17 21:03:00的发言:
订单表的型号列取自产品表的型号
 

If MainTable.Name = "订单" Then \'如果选择的主表是订单表
    Tables("订单").Cols("产品").Combolist = DataTables("产品").GetComboListString("型号")
End
If

我想下拉列表按产品表的_Identify排序,代码加在哪?



大概差不多这样吧。

If MainTable.Name = "订单" Then \'如果选择的主表是订单表
    Dim ls As New List(Of String)
    Dim str,str1 As String
    For Each dr As DataRow In DataTables("产品").DataRows
        str = dr("型号")
        If str > "" AndAlso ls.Contains(str) = False
            ls.Add(str)
            str1 = str1 & "|" & str
        End If
    Next
    Tables("订单").Cols("型号").Combolist = str1.Trim("|")
End If


--  作者:实话实说
--  发布时间:2009/10/17 22:56:00
--  
还是没搞明白,送个例子上来
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


--  作者:czy
--  发布时间:2009/10/17 23:01:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:实话实说
--  发布时间:2009/10/17 23:11:00
--  
满意,谢谢CZY。也谢谢程兴刚
[此贴子已经被作者于2009-10-17 23:11:45编辑过]

--  作者:程兴刚
--  发布时间:2009/10/17 23:50:00
--  
以下是引用实话实说在2009-10-17 23:11:00的发言:
满意,谢谢CZY。也谢谢程兴刚
[此贴子已经被作者于2009-10-17 23:11:45编辑过]



       呵呵,不客气,我没做什么,原想有一个差不多的例题让您简单改改就可以自己完成,我都没动手!