标题:TREE 目录树最简单的案例疑问
只看楼主
ljlhpop
Rank: 2
等 级:论坛游民
帖 子:151
专家分:49
注 册:2015-10-11
结帖率:100%
已结贴  问题点数:18 回复次数:15 
TREE 目录树最简单的案例疑问

请各位大佬帮忙看下,如果要显示点击右边目录树的值,比如任何一个人,,右边的文本框就显示相应的数值,右下角的表格也自动定位到那一个人的记录,并用红色背景标注。。研究了一个月搞不懂,,请问这个咋搞?
kh.7z (11.63 KB)
搜索更多相关主题的帖子: 显示 目录树 一个人 TREE 疑问 
2022-03-06 11:09
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:54
帖 子:802
专家分:1914
注 册:2015-12-30
得分:2 
研究一下thisform.olecontrol1.nodeclick事件吧,只要获取到一二级的名称,到grid1里找到对应记录并定位
至于上面的文本框,可以在grid1的AfterRowColChange事件里写就行
2022-03-06 17:13
ljlhpop
Rank: 2
等 级:论坛游民
帖 子:151
专家分:49
注 册:2015-10-11
得分:0 
回复 2楼 laowan001
多谢大师指点,我再研究研究
2022-03-06 20:38
sam_jiang
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:542
专家分:781
注 册:2021-10-13
得分:0 
nodeclick事件里面来个set filter to where 姓名=?, 然后再来个refresh应该就可以搞定了。
2022-03-06 21:05
easyppt
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:119
专家分:169
注 册:2021-11-24
得分:8 
node加载 通常都要使用  Key 和 Tag,NodeClick时,获取对应节点的 Key,而这个Key就是表记录的唯一值,然后到对应表中去找(定位记录).
右边的表格 和文本框 的数据源应该都是同一个表,表格的AfterRowColChange 写 thisform.refersh即可。

表格当前行高亮显示,可以设置表格的属性:HighlightStyle  和  HighlightForeColor

现在还有新手学习VFP,真的很少见了!

[此贴子已经被作者于2022-3-7 09:08编辑过]

2022-03-07 08:58
cjc1010
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:64
专家分:195
注 册:2006-4-16
得分:8 
tree的nodeclick事件里面写上下面程序行就可以了:
SELECT gzrs
LOCATE FOR ALLTRIM(gzrs.姓名)==ALLTRIM(Node.text)
IF FOUND()
thisform.text1.Value=gzrs.卡号
thisform.text2.Value=gzrs.姓名
thisform.text3.Value=gzrs.部门
thisform.text4.Value=gzrs.报到日期
thisform.text5.Value=gzrs.住址
ENDIF
thisform.grid1.Refresh
2022-03-07 10:28
ljlhpop
Rank: 2
等 级:论坛游民
帖 子:151
专家分:49
注 册:2015-10-11
得分:0 
回复 5楼 easyppt
40岁大叔,学的是情怀,,,以前看别人用VFP写的软件,感觉很牛B,现在有点时间,就兴趣学学.嘿嘿
非常感谢指点!
2022-03-07 17:49
ljlhpop
Rank: 2
等 级:论坛游民
帖 子:151
专家分:49
注 册:2015-10-11
得分:0 
回复 4楼 sam_jiang
感谢,后来用6楼的大师代码可以了
2022-03-07 18:06
ljlhpop
Rank: 2
等 级:论坛游民
帖 子:151
专家分:49
注 册:2015-10-11
得分:0 
回复 6楼 cjc1010

大师好!
按您提供的代码,确实可以显示左右联动,,,不过就是点击左边边的值(人名),右边表不能自动高亮..要点击右边表里面的值,这行才能高亮显示.不知是为啥?
2022-03-07 18:18
ljlhpop
Rank: 2
等 级:论坛游民
帖 子:151
专家分:49
注 册:2015-10-11
得分:0 
回复 6楼 cjc1010
*** ActiveX 控件事件 ***
LPARAMETERS node
XM=ALLTRIM(Node.text)
SELECT gzrs
LOCATE FOR ALLTRIM(gzrs.姓名)==ALLTRIM(Node.text)
IF FOUND()
    thisform.text1.Value=gzrs.卡号
    thisform.text2.Value=gzrs.姓名
    thisform.text3.Value=gzrs.部门
    thisform.text4.Value=gzrs.报到日期
    thisform.text5.Value=gzrs.住址
ENDIF



Thisform.grid1.SetAll('DynamicForeColor','IIF(姓名="&XM",RGb(255,0,0),rgb(0,0,0))','column')
Thisform.grid1.SetAll('DynamicbackColor','iif(姓名="&xm",RGb(255,255,0),rgb(255,255,255))','column')
Thisform.Grid1.Refresh

OK 啦,,,可以实现点击左边的树,右边变颜色
2022-03-07 20:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508473-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.181709 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved