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自家证书