以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  组合框 combobox 属性中设置 如何做到不重复值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61716)

--  作者:jswjyjf
--  发布时间:2014/12/17 20:55:00
--  组合框 combobox 属性中设置 如何做到不重复值
组合框 combobox 属性中设置 如何做到不重复值
--  作者:有点甜
--  发布时间:2014/12/17 20:57:00
--  

1、生成一个临时表,里面存放不重复的值,然后设置给Combobox

 

2、或者,直接用GetComboListString


--  作者:jswjyjf
--  发布时间:2014/12/17 20:59:00
--  

第一个方法 代码如何写


--  作者:有点甜
--  发布时间:2014/12/17 21:07:00
--  

Dim q As new QueryBuilder
q.TableName = "临时表"
q.SelectString = "Select DISTINCT 第一列, 第二列 From {表A}"
q.Build

Dim cbx As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cbx.ValueMember = "第一列"
cbx.DisplayMember = "第二列"
cbx.DataSource = "临时表"


--  作者:jswjyjf
--  发布时间:2014/12/17 21:17:00
--  
多谢
--  作者:jswjyjf
--  发布时间:2014/12/17 22:07:00
--  
4楼 取不到不重复值
--  作者:affixed
--  发布时间:2014/12/17 22:14:00
--  
甜老师,以下代码能用在表中的某一列上吗?
就是把某一列设置为下拉列表的形式,然后通过代码来实现类似于combolist的这个功能。

Dim q As new QueryBuilder
q.TableName = "临时表"
q.SelectString = "Select DISTINCT 第一列, 第二列 From {表A}"
q.Build

Dim cbx As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cbx.ValueMember = "第一列"
cbx.DisplayMember = "第二列"
cbx.DataSource = "临时表"


--  作者:有点甜
--  发布时间:2014/12/17 22:32:00
--  
以下是引用jswjyjf在2014-12-17 22:07:00的发言:
4楼 取不到不重复值

 

肯定可以去到不重复值啊,前提是你第一列、第二列都不重复啊。

 

不然你做个例子上来。


--  作者:有点甜
--  发布时间:2014/12/17 22:37:00
--  

 回复7楼,不行,如果要做,只能用数据字典

 

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

 


--  作者:affixed
--  发布时间:2014/12/17 22:45:00
--  
甜老师,项目里我已经用了数据字典。但是每次大分类一变,我所有的小分类显示值都会变(小分类实际值不变,但会在不留意间误判)。