欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

ext.net TreePanel单击取值

发布时间:2025/4/16 编程问答 68 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ext.net TreePanel单击取值 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 TreePanel实现可以有多种,目前用到的有两种实现方式:数据源可以一次性加载,第二单击父类生成相关子类数据。

 

 结构:TreePanel->放置TreeNode 以此迭代生成树型菜单

 

那么如何实现TreePanel单击取值?

 

第一反应:给TreePanel节点TreeNode添加单击事件TreeNode.Listeners.Click.Handler

代码:

tplMain:TreePanel的ID //选择按钮Clickfunction selectNode() {var selectionMode = tplMain.getSelectionModel();var selection = selectionMode.selNode; //获取选中的值if (selection == null) {alert("请选择");}else {var v = selection.attributes.text;alert(v);}} foreach (var item in childRow){Ext.Net.TreeNode childNode = new Ext.Net.TreeNode{NodeID = item["FID"].ToString(),Text = item[rowField["DisplayField"].ToString()].ToString(),Qtip = item[rowField["DisplayField"].ToString()].ToString(),};childNode.Listeners.Click.Handler = "selectNode() ;";parNode.Nodes.Add(CreateNode(dtSource, childNode, item["FID"].ToString(), rowField));}

 

得到的却是:假如我第一次单击的是‘华交会’得到的提示却是“请选择”, 第二次任意单击其他则得到我要的‘华交会’ ,测试发现tplMain.getSelectionModel()取到的值是null

 

谜底还没解除来,有ext高手的还请解释下why??

 

解决方法:直接给TreePanel添加单击事件TreePanel.Listeners.Click.Handler = "ClickNode(node)";

 

tplMain.Listeners.Click.Handler = "ClickNode(node)"; //树 单击取值主键FID function ClickNode(node) {alert(node.attributes.text);//alert(node.attributes.id);}

 

效果:

 

功能虽实现,但是第一种方法不行的原因还不是明白, 有ext高手的还请解释下why??

 

 

 

 

 


作者:PEPE
出处:http://pepe.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

总结

以上是生活随笔为你收集整理的ext.net TreePanel单击取值的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。