VFP组合框和列表框
展开全部
举例:
假设一个表 Table1,表内用于在组合框中显示并选择的字段名为 编号,且其唯一(即记录中同一编号的只有一条记录,这符合索引和逻辑)。下面写代码:
在FROM的INIT事件中写上:
USE Table1 IN 0 ALIAS Table1
PUBLIC f
f=AFIELDS(a,"Table1")
PUBLIC ArrayField(f)
Thisform.Combo1.Rowsourcetype= 6
Thisform.Combo1.Rowsource="Table1.编号"
Thisform.Refresh
在FORM的DESTROY里写上:
RELEASE ArrayField,f
SELECT Table1
USE
在组合框的INTERACTIVECHANGE事件里写上:
B=VAL(ALLTRIM(THISFORM.COMBO1.Value)) **这里假设 编号 字段为数值型,所以要转化成字符型**
SELECT * FROM Table1 WHERE 񅧏=B INTO ARRAY Arr
FOR i=1 TO f
STORE Arr(1,i) TO ArrayField(i)
endfor
thisform.list1.RowSourceType= 5
thisform.list1.RowSource="ArrayField"
Thisform.List1.Refresh
假设一个表 Table1,表内用于在组合框中显示并选择的字段名为 编号,且其唯一(即记录中同一编号的只有一条记录,这符合索引和逻辑)。下面写代码:
在FROM的INIT事件中写上:
USE Table1 IN 0 ALIAS Table1
PUBLIC f
f=AFIELDS(a,"Table1")
PUBLIC ArrayField(f)
Thisform.Combo1.Rowsourcetype= 6
Thisform.Combo1.Rowsource="Table1.编号"
Thisform.Refresh
在FORM的DESTROY里写上:
RELEASE ArrayField,f
SELECT Table1
USE
在组合框的INTERACTIVECHANGE事件里写上:
B=VAL(ALLTRIM(THISFORM.COMBO1.Value)) **这里假设 编号 字段为数值型,所以要转化成字符型**
SELECT * FROM Table1 WHERE 񅧏=B INTO ARRAY Arr
FOR i=1 TO f
STORE Arr(1,i) TO ArrayField(i)
endfor
thisform.list1.RowSourceType= 5
thisform.list1.RowSource="ArrayField"
Thisform.List1.Refresh
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询