回 帖 发 新 帖 刷新版面

主题:下拉框可以选择其中任意一列显示吗?

很菜的问题,望各位老师指导:
    下拉框有4列,我想选择其中任意一列来显示,比如说点第1列时显示第1列,点第2列时显示第2列,类推.......,弄了半天,还是只能显示第1列.

回复列表 (共10个回复)

沙发

你的想法好象实现不了。

板凳

谢谢大师回贴,VB里面可以,VFP怎么不行呀,郁闷中.............

3 楼

不知道你的详细目的,你的第一列、第二列到底指的是什么?不过我想是有办法间接实现的,方法是:通过改变下拉框的数据源来实现,CONTROLSOURCE。

4 楼

我的问题简述如下:
    表单上combo1用生成器(或用AddItem方法连接4个字段)设计成4列,其中第1列和第3列是代码,第2列和第4列是对应的县名:
    01    A县      05    E县
    02    B县      06    F县
    03    C县      07    G县
    04    D县      08    H县
    ....  ....     ....  ....
    我想点击combo1后选择第2列或第4列显示,第1列和第3列不能被选择显示,但现在总是显示无用的第1列.
  请楼上的高手帮帮忙,哪怕是设计成2列,可以选择第2列显示,而第1列不能被选择显示也是挺好的.

5 楼

下拉框一旦选择的话,应该是选择一行吧,你讲只选择其中的一列,是什么意思,我不懂,
如果我没有猜错你的意思的话,你可以这样做,
设置下拉框的如下属性
columncount=4
rowsourcetype=2
rowsource=(你的表名/别名)
这样能在下拉框中显示你的表中的四个字段的内容,但你还是只能选择其中的一行。

6 楼

01    A县      
 02    B县
 03    C县     
 04    D县
 05    E县
 06    F县
 07    G县
 08    H县
干嘛不做成这样显示的啊?这样也就解决了你的问题了

7 楼

谢谢5、6楼赐教,本人笨,选择后还是只能显示01、02.....,而不是A县 、B县......,实在没有没有办法,只好像下面一样倒着排了:

   A县     01  
   B县     02 
   C县     03     


8 楼

这个问题我也是搞了多次,也都没能搞定。

9 楼

把选项的条目写入一个临时表
combo1 可以随时绑定,不同的字段。
当选定某条选项的时候,你可从这个临时表中,获取个列你需要的信息。

10 楼

支持cbl518老师的办法!同时,我也提一下我的想法,比如你是把多列数据已经存于COMBO1中(组合框的LIST数组),可以想办法把你要显示列的数据与第一列的数据对换一下,也可以多设置一列,如你的数据总列数是5,就把COMBO1设置成6,把COMBO1第一列作显示用,数据从第二列开始写入,当要第几列时就把第几列的数据复制到第一列去,我想这样也可以达到目的。代码如下:
如你原来的数据是这样:
    A县     01  
    B县     02 
    C县     03 
通过以下代码自动在前面增加一列,并把数据初始为空。
FOR I=1 TO THISFORM.COMBO1.LISTCOUNT
    THISFORM.COMBO1.LIST(I,3)=THISFORM.COMBO1.LIST(I,2)
    THISFORM.COMBO1.LIST(I,2)=THISFORM.COMBO1.LIST(I,1)
    THISFORM.COMBO1.LIST(I,1)=""
ENDFOR
当你要显示你原来第一列数据,其实就是现在的第二列,只要赋值一下就达到目的。
FOR I=1 TO THISFORM.COMBO1.LISTCOUNT
    THISFORM.COMBO1.LIST(I,1)=THISFORM.COMBO1.LIST(I,2)
ENDFOR
这样所有数据都在COMBO1中,也不必用临时表,就COMBO1组合框就达到目的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册