对于种树这个事,90%的人不会种无限级树,80%的人不会种一级树。
那今天来一级树和无限树的种法教给大家。
先来看一下后台表,treedata1,id为自增型主键。
1.制作表单
2.使用MSSQLHelper来在表单LOAD获取数据
DO setenv
LOCAL oDBSQLHelper,nRow,oca
&&会员类别表
TEXT TO lcSQLCmd NOSHOW TEXTMERGE
SELECT * FROM treedata1
ENDTEXT
oDBSQLHelper=Newobject("MSSQLHelper","MSSQLHelper.prg")
nRow=oDBSQLHelper.SQLQuery(lcSQLCmd,"treedata1")
IF nRow<1
Messagebox(oDBSQLHelper.errmsg,0+16,Thisform.Caption)
Return .F.
Endif
3.设置表单属性
如图设置树控件的属性值,displayfield=name,datafield=id
qiyu_treeview控件属性说明
属性名 | 默认性 | 说明 |
---|---|---|
mainalias | 绑定的表 | |
displayfield | 显示字段 | |
datafield | 绑定值字段 | |
value | 控件选中值 | |
isdisplaykey | 是否显示值字段的值 | |
fatherfield | 父字段(多级树用) |
两个文本框控件分别绑定treedata1.id,treedata1.name即可。
qiyu_treeview1的donodeclick刷新一下表单
LPARAMETERS node
thisform.Refresh()
再来运行看看
运行成功,点击任一个树节点,右边的控件都会变化。
无限级树的种法
后台表结构 极简
只比一级树多了一个字段
qiyu_treeview1的属性多设置一个fatherkey 为fid即可
其它的控件也是一样的设置,多添加一个组合框来显示fid的内容。
组合框设定
设置组合框为只读,不让修改。
表单的load事件加载数据
DO setenv
LOCAL oDBSQLHelper,nRow,oca
&&会员类别表
TEXT TO lcSQLCmd NOSHOW TEXTMERGE
SELECT * FROM treedata
ENDTEXT
oDBSQLHelper=Newobject("MSSQLHelper","MSSQLHelper.prg")
nRow=oDBSQLHelper.SQLQuery(lcSQLCmd,"treedata")
IF nRow<1
Messagebox(oDBSQLHelper.errmsg,0+16,Thisform.Caption)
Return .F.
Endif
*--组合框用
SELECT * FROM treedata INTO CURSOR treedata2
运行一下,是不是感觉种树也很容易?
加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。
商业模式,销售技巧、需求规划、产品设计的知识通通可以发表。
暂定千字50元红包,,优秀的文章红包更大,一经发表,红包到手。
用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。
我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。
加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"。
我已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。