Foxtable(狐表)用户栏目专家坐堂 → 怎样让combolist由多到少排列?


  共有5736人关注过本帖树形打印复制链接

主题:怎样让combolist由多到少排列?

帅哥哟,离线,有人找我吗?
jacksn
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
怎样让combolist由多到少排列?  发帖心情 Post By:2013/8/12 15:34:00 [只看该作者]

form1有一个COMOBOX,我想让它的COMbolist选项来自列A的内容,但是出现次数多的排在前,少的在后,应该怎样编?求思路,谢谢!

请看例子:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test-sort.zip

我希望窗口打开时那个checkcombobox能按列A的统计自动排列,拖拉机(4个)第一,飞机(3个)第二,坦克第(2个)三,小汽车(1个)最后。
[此贴子已经被作者于2013-8-12 16:38:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/12 15:39:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
jacksn
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/8/12 16:11:00 [只看该作者]

但是我要的是排序是根据列A本身内容出现次数的多少,例如“小汽车”这个内容出现了100次是最多,就排在第一位,“拖拉机”出现1次最少就排最后。如果sort列A的话,应该是按列A的名称(例如字母顺序)排列吧?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/8/12 16:13:00 [只看该作者]

这样的话那你就要用代码统计了,你上个例子吧.

 回到顶部
帅哥哟,离线,有人找我吗?
shenyl0211
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2013/8/12 21:19:00 [只看该作者]

我在表中是先对列A进行排序,再执行其它代码。不知道是否适合form


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/12 23:05:00 [只看该作者]

代码

Dim cb1 As WinForm.ComboBox = e.Form.Controls("ComboBox1")

Dim dics As new SortedDictionary(Of Integer, String)
For Each data As String In  DataTables("表A").GetUniqueValues("", "第一列")
    Dim count As Integer = DataTables("表A").Compute("count(_Identify)", "第一列 = '" & data & "'")
    dics.Add(count, data)
Next

Dim x As Integer = 0
For Each i As Integer In dics.keys
    cb1.Items.Insert(0, dics(i))
    x += 1
Next

 回到顶部
帅哥哟,离线,有人找我吗?
jacksn
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/8/13 21:14:00 [只看该作者]

非常感谢有点甜,成功了!
可是这个SortedDictionary是什么呢?帮助也没有啊?看来FT很多技术还没有写到帮助里面去啊
另外,如果有项目的数量是相同的又会怎样呢?——会产生“已经具有相同键的数目”的错误。
[此贴子已经被作者于2013-8-13 21:54:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/8/13 21:32:00 [只看该作者]

SortedDictionary 会把加入的key从小到大排序。这样就少了自己排序的麻烦。

 回到顶部