注册 登录
编程论坛 VFP论坛

如何根据第一个下拉列表中选择的内容来确定第二个下拉列表显示的内容

abcde007 发布于 2023-10-30 11:35, 441 次点击
请问大佬,如何根据第一个下拉列表中选择的内容来确定第二个下拉列表需要显示的内容呢?两个组合框应该怎么设置呢?
例如,先从第一个下拉列表中选择班级,再从第二个下拉列表显示出该班级的学生姓名以供选择。如果第一个下拉列表没有选择,则第二个下拉列表显示灰色,不能进行操作。
谢谢啦!
6 回复
#2
laowan0012023-10-30 11:41
*
IF this.ListIndex=0
    = .F.
ELSE
    = .T.
    * 根据combo1当前value确定combo2的显示内容
    * 此后combo1.listindex都会>0
ENDIF

#3
sam_jiang2023-10-30 17:33
以下是引用laowan001在2023-10-30 11:41:01的发言:

*
IF this.ListIndex=0
    = .F.
ELSE
    = .T.
    * 根据combo1当前value确定combo2的显示内容
    * 此后combo1.listindex都会>0
ENDIF

有办法屏蔽掉键盘输入时产生的interactivechange 事件吗?让它只响应鼠标操作?
#4
heping_fly2023-10-31 01:08
combo1,combo2 都设为下拉列表框
.combo2.RowSource=''
c1=.combo1.value (combo1 的click 事件里)
用 c1为条件 产生一个新数据源(临时表什么的)
.combo2.RowSource=新数据源,(新数据源空,combo2 自动是空的,也写不上东西)
这样行不行?
 



#5
abcde0072023-10-31 10:07
以下是引用laowan001在2023-10-30 11:41:01的发言:

*
IF this.ListIndex=0
    = .F.
ELSE
    = .T.
    * 根据combo1当前value确定combo2的显示内容
    * 此后combo1.listindex都会>0
ENDIF

大佬,“* 根据combo1当前value确定combo2的显示内容”,这个怎么弄啊?而且两个组合框的属性怎么设置呢?谢谢啦!
#6
abcde0072023-10-31 10:14
以下是引用heping_fly在2023-10-31 01:08:17的发言:

combo1,combo2 都设为下拉列表框
.combo2.RowSource=''
c1=.combo1.value (combo1 的click 事件里)
用 c1为条件 产生一个新数据源(临时表什么的)
.combo2.RowSource=新数据源,(新数据源空,combo2 自动是空的,也写不上东西)
这样行不行?
 

感觉方法可行。我再考虑一下怎么弄。谢谢!
#7
laowan0012023-11-01 08:48
以下是引用abcde007在2023-10-31 10:07:11的发言:


大佬,“* 根据combo1当前value确定combo2的显示内容”,这个怎么弄啊?而且两个组合框的属性怎么设置呢?谢谢啦!


不知道你的应用,所以没法具体说明,大致思路如下:
取combo1的当前value知道吧,比如是个班级号,假设combo2是某班的学生姓名,那么根据combo1的班级号可以找出该班级的学生列表,这个列表就构成了combo2的内容,具体方法4楼有说明

至于组合框的属性,可能你问的是怎么生成组合框的内容
方法一:直接给组合框赋值元素,(要显示的内容)
方法二:参考4楼说明,可使用数据表(dbf/cursor)

确定了组合框的内容后,可对combo的InteractiveChange编程,对不同内容进行相应的处理
1