主题:下拉框可以选择其中任意一列显示吗?
lzguang
[专家分:1210] 发布于 2006-08-28 10:20:00
很菜的问题,望各位老师指导:
下拉框有4列,我想选择其中任意一列来显示,比如说点第1列时显示第1列,点第2列时显示第2列,类推.......,弄了半天,还是只能显示第1列.
回复列表 (共10个回复)
沙发
广西甬车 [专家分:1040] 发布于 2006-08-28 11:14:00
你的想法好象实现不了。
板凳
lzguang [专家分:1210] 发布于 2006-08-28 11:29:00
谢谢大师回贴,VB里面可以,VFP怎么不行呀,郁闷中.............
3 楼
winabcd [专家分:3790] 发布于 2006-08-30 08:23:00
不知道你的详细目的,你的第一列、第二列到底指的是什么?不过我想是有办法间接实现的,方法是:通过改变下拉框的数据源来实现,CONTROLSOURCE。
4 楼
lzguang [专家分:1210] 发布于 2006-08-30 15:42:00
我的问题简述如下:
表单上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 楼
winabcd [专家分:3790] 发布于 2006-08-31 10:51:00
下拉框一旦选择的话,应该是选择一行吧,你讲只选择其中的一列,是什么意思,我不懂,
如果我没有猜错你的意思的话,你可以这样做,
设置下拉框的如下属性
columncount=4
rowsourcetype=2
rowsource=(你的表名/别名)
这样能在下拉框中显示你的表中的四个字段的内容,但你还是只能选择其中的一行。
6 楼
xingfuwuyu123 [专家分:310] 发布于 2006-08-31 15:44:00
01 A县
02 B县
03 C县
04 D县
05 E县
06 F县
07 G县
08 H县
干嘛不做成这样显示的啊?这样也就解决了你的问题了
7 楼
lzguang [专家分:1210] 发布于 2006-08-31 20:44:00
谢谢5、6楼赐教,本人笨,选择后还是只能显示01、02.....,而不是A县 、B县......,实在没有没有办法,只好像下面一样倒着排了:
A县 01
B县 02
C县 03
8 楼
北京种子乐 [专家分:3710] 发布于 2008-08-12 04:08:00
这个问题我也是搞了多次,也都没能搞定。
9 楼
cbl518 [专家分:57140] 发布于 2008-08-12 08:40:00
把选项的条目写入一个临时表
combo1 可以随时绑定,不同的字段。
当选定某条选项的时候,你可从这个临时表中,获取个列你需要的信息。
10 楼
hw2007name [专家分:4790] 发布于 2008-08-12 09:16:00
支持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组合框就达到目的。
我来回复