整容说文库 > 程序代码 > 教育资讯

treeView的同一个节点第二次点击(连续),不执行事件?

来源:学生作业帮助网 编辑:整容说文库 时间:2020/12/03 12:14:56 程序代码
treeView的同一个节点第二次点击(连续),不执行事件?程序代码
是不是要设置什么属性呀,请帮助!
谢谢
treeview本身的afterselected事件是有這個問題,你可以用mouseDown事件來替代afterselected事件試試。
是SelectedNodeChanged事件,但我想在用户每次点击同一个节点时都能执行事件,怎么办?
(它好像没有click,mouseDown事件呀,我这是asp.net的treeView不是winform的)
up
用SelectedNodeChanged好像是不行的.
因为你第二次点击时相同的节点,不会触发OnSelectedNodeChanged事件

不知道你的OnSelectedNodeChanged事件是不是处理链接的问题.如果是,
你可以看看这样做:
在构造树的时候,给TreeNode.NavigateUrl也赋上值.
这样你在每次点击节点的时候都是有效的.

SelectedNodeChanged事件是节点选中事件,在你第一次点击时该节点已选中,
所以第二次并不执行该事件。

你可以在该事件中这样TreeView..SelectedNodeIndex = "0";就可以了
TreeView.SelectedNodeIndex = "0";
上面的方法只适合初始化时树的第一级节点以展开。
这样写有缺点,在服务器执行每次都要提交,每次点击页面都刷新,
建议你用js实现展开功能!
谢谢,xylys521 和juntor 。
我必须用事件,因为点击后要有一些不能用 js完成的工作,之后才navigate....
但treeView的实例中好像没有SelectedNodeIndex 属性呀?
SelectedNodeIndex 有!,肯定!
SelectedNodeIndex它是你选择节点的索引!
Microsoft Internet Explorer WebControls are not currently supported.
我用的是vs2005,asp.net里面的treeview真的没有SelectedNodeIndex属性了。
treeview.SelectedNode.Selected = false;  
你所指的"点击后要有一些不能用 js完成的工作,之后才navigate...."
是不是根据点击的节点不同来生成链接的路径啊.
呵呵.(你是第一个给分的人,我多说两句)

我们是根据一定的规则在数据库的视图中先生成这个链接路径的.

treeview.SelectedNode.Selected = false;  看起来只是起到了,把选中节点的样式去掉的作用
(就是看不到当前选中的是那个节点)
程序代码