以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于下拉框自动排序问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132440)

--  作者:ZJZK2018
--  发布时间:2019/3/22 2:43:00
--  关于下拉框自动排序问题
下面为了排序加了个@,但到时候又要去掉@及前面字符,很麻烦,有没有更好的办法?

Dim ls As New List(of String)
For Each nm As String In DataTables("表A").GetValues("投标单位","报价 > 0")
    Dim lst As List(Of DataRow) = DataTables("表A").Select("投标单位 = \'" & nm & "\'")
    If ls.Contains(lst.Count & "@" & nm) = False Then
        ls.Add(lst.Count & "@" & nm)
    End If
Next
ls.Sort()
ls.Reverse()
Dim st As String = String.Join("|",ls.ToArray)
e.Sender.ComboList = st

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:下拉框排序.table


图片点击可在新窗口打开查看此主题相关图片如下:dddd.png
图片点击可在新窗口打开查看



--  作者:y2287958
--  发布时间:2019/3/22 8:46:00
--  
处理一下集合中各元素内容后再赋值下拉列表值
--  作者:y2287958
--  发布时间:2019/3/22 8:56:00
--  
要不这样变通一下
Dim b As New GroupTableBuilder("统计表1",DataTables("表A"))
b.Groups.AddDef("投标单位")
b.Totals.AddDef("投标单位",AggregateEnum.Count,"数量")
e.Sender.ComboList = b.Build(True).GetComboListString("投标单位","","数量 desc,投标单位 desc")


--  作者:有点甜
--  发布时间:2019/3/22 11:55:00
--  

 

参考3楼的做法,你这种,最好先生成统计表后处理。