在这边问个问题??

时间:2021-08-11 19:39:18
如何动态触发某个节点的单击事件!
一个OLETREE树,已经有很多节点了!我怎样才能调用某个节点的单击事件??语法怎么样?

5 个解决方案

#1


IF VAL(RIGHT(node.key,LEN(node.key)-1)) = 4
  Do Form Browser With Gyhd_NO
Endif

#2


有箱可以给你发个我写的例子,你一看就会了,很简单的。

#3


可能和你说的意思有点不一样,你这样只是取出了TREE的KEY,我的意思是:当这个TREE已经 有很有很多的KEY,当然单击不同的节点传出的节点的值就不同,我现在要求实际操作过程中不用单击这个节点。但能同样触发单击这个节点的程序,而且此时焦点并根本不在节点上!
比如,有一TREE,节点的KEY值有,aaa,bbb,ccc,....当我单击节点时,固然分别传‘aaa’,‘bbb’,‘ccc’,...给这个TREE的单击事件,现在我要求在别的一个命令按钮的单击事件里写出这个的代码!即:单击此按扭时触发的事件和点击aaa的节点时触发的事件是一样的,或者和点击bbb的节点时触发的事件是一样的,由程序来决定和哪个节点的单击事件触发的事件一样

#4


你可以试一个简单的方法,将节点的单击事件定义为表单的一个自定义方法程序,用一个变量或表单的一个自定义属性记录你的参数,在TREE的NODECLICK事件中给变量赋值,并调用自定义方法程序,在其他地方同样也是这样操作

如:自定义表单的属性为:ckey,初值为空

自定义表单的DISP方法为:
wait thisform.ckey wind

树tree1的nodeclick事件为:
thisform.ckey=node.text
thisform.disp

设置一个文本框text1用于输入值,一个命令按钮command1用于执行代码

command1的click事件为:
thisform.ckey=thisform.text1.value
thisform.disp

根据这个思路去改吧


#5


最好是你把你所有的节点都放在一张表中,这样做更好!
表的结构可以设这样的(参考):
  键值   父对象   图标   选中图标   展开图标   名称       值
Numeric Numeric Numeric  Numeric    Numeric  Character Character
上边结构只是介绍一下经验,不是此题的答案,此题答案如下:
在INIT事件中添加这样的结点:
This.Nodes.Add(,,"N1","XXXXXX公司",3,3)
This.Nodes.Add(1,4,"N3","人事档案",1,2)
This.Nodes.Add(2,4,"N2","浏览",1,2)
This.Nodes.Add(3,4,"N4","员工浏览",1,2)
This.Nodes.Add(3,4,"N5","调动浏览",1,2)
This.Nodes.Add(3,4,"N6","辞工浏览",1,2)
This.Nodes.Add(2,4,"N7","操作",1,2)
This.Nodes.Add(7,4,"N8","注册",1,2)
This.Nodes.Add(7,4,"N9","修改",1,2)
This.Nodes.Add(7,4,"N10","调动",1,2)
This.Nodes.Add(7,4,"N11","注销",1,2)
This.Nodes.Add(1,4,"N12","员工培训",1,2)
This.Nodes.Add(12,4,"N13","成绩录入",1,2)

NodeClick 事件 (其它事件也可以) 可由代码激活使用方法如下:
LPARAMETERS node (参数)

Thisform.Tree.NodeClick(Thisform.Tree.Nodes(5))

#1


IF VAL(RIGHT(node.key,LEN(node.key)-1)) = 4
  Do Form Browser With Gyhd_NO
Endif

#2


有箱可以给你发个我写的例子,你一看就会了,很简单的。

#3


可能和你说的意思有点不一样,你这样只是取出了TREE的KEY,我的意思是:当这个TREE已经 有很有很多的KEY,当然单击不同的节点传出的节点的值就不同,我现在要求实际操作过程中不用单击这个节点。但能同样触发单击这个节点的程序,而且此时焦点并根本不在节点上!
比如,有一TREE,节点的KEY值有,aaa,bbb,ccc,....当我单击节点时,固然分别传‘aaa’,‘bbb’,‘ccc’,...给这个TREE的单击事件,现在我要求在别的一个命令按钮的单击事件里写出这个的代码!即:单击此按扭时触发的事件和点击aaa的节点时触发的事件是一样的,或者和点击bbb的节点时触发的事件是一样的,由程序来决定和哪个节点的单击事件触发的事件一样

#4


你可以试一个简单的方法,将节点的单击事件定义为表单的一个自定义方法程序,用一个变量或表单的一个自定义属性记录你的参数,在TREE的NODECLICK事件中给变量赋值,并调用自定义方法程序,在其他地方同样也是这样操作

如:自定义表单的属性为:ckey,初值为空

自定义表单的DISP方法为:
wait thisform.ckey wind

树tree1的nodeclick事件为:
thisform.ckey=node.text
thisform.disp

设置一个文本框text1用于输入值,一个命令按钮command1用于执行代码

command1的click事件为:
thisform.ckey=thisform.text1.value
thisform.disp

根据这个思路去改吧


#5


最好是你把你所有的节点都放在一张表中,这样做更好!
表的结构可以设这样的(参考):
  键值   父对象   图标   选中图标   展开图标   名称       值
Numeric Numeric Numeric  Numeric    Numeric  Character Character
上边结构只是介绍一下经验,不是此题的答案,此题答案如下:
在INIT事件中添加这样的结点:
This.Nodes.Add(,,"N1","XXXXXX公司",3,3)
This.Nodes.Add(1,4,"N3","人事档案",1,2)
This.Nodes.Add(2,4,"N2","浏览",1,2)
This.Nodes.Add(3,4,"N4","员工浏览",1,2)
This.Nodes.Add(3,4,"N5","调动浏览",1,2)
This.Nodes.Add(3,4,"N6","辞工浏览",1,2)
This.Nodes.Add(2,4,"N7","操作",1,2)
This.Nodes.Add(7,4,"N8","注册",1,2)
This.Nodes.Add(7,4,"N9","修改",1,2)
This.Nodes.Add(7,4,"N10","调动",1,2)
This.Nodes.Add(7,4,"N11","注销",1,2)
This.Nodes.Add(1,4,"N12","员工培训",1,2)
This.Nodes.Add(12,4,"N13","成绩录入",1,2)

NodeClick 事件 (其它事件也可以) 可由代码激活使用方法如下:
LPARAMETERS node (参数)

Thisform.Tree.NodeClick(Thisform.Tree.Nodes(5))