ext.net TreePanel单击取值
生活随笔
收集整理的这篇文章主要介绍了
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单击取值的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 叔叔我要可乐,要冰冻的
- 下一篇: Firefox无法加载12306自家证书