vfp种树,一级树,无限级树,Qiyu_treeview控件使用超简单方法

2023-10-23 17:07:17 浏览数 (2)

对于种树这个事,90%的人不会种无限级树,80%的人不会种一级树。

那今天来一级树和无限树的种法教给大家。

先来看一下后台表,treedata1,id为自增型主键。

1.制作表单

2.使用MSSQLHelper来在表单LOAD获取数据

代码语言:javascript复制
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刷新一下表单

代码语言:javascript复制
LPARAMETERS node
thisform.Refresh()

再来运行看看

运行成功,点击任一个树节点,右边的控件都会变化。

无限级树的种法

后台表结构 极简

只比一级树多了一个字段

qiyu_treeview1的属性多设置一个fatherkey 为fid即可

其它的控件也是一样的设置,多添加一个组合框来显示fid的内容。

组合框设定

设置组合框为只读,不让修改。

表单的load事件加载数据

代码语言:javascript复制
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混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。

商业模式,销售技巧、需求规划、产品设计的知识通通可以发表。

暂定千字50元红包,,优秀的文章红包更大,一经发表,红包到手。

如何帮助使用VFP的人?

用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。

我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。

加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"

我已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。

0 人点赞