ext.net TreePanel单击取值
?TreePanel實(shí)現(xiàn)可以有多種,目前用到的有兩種實(shí)現(xiàn)方式:數(shù)據(jù)源可以一次性加載,第二單擊父類(lèi)生成相關(guān)子類(lèi)數(shù)據(jù)。
?
?結(jié)構(gòu):TreePanel->放置TreeNode 以此迭代生成樹(shù)型菜單
?
那么如何實(shí)現(xiàn)TreePanel單擊取值?
?
第一反應(yīng):給TreePanel節(jié)點(diǎn)TreeNode添加單擊事件TreeNode.Listeners.Click.Handler
代碼:
tplMain:TreePanel的ID //選擇按鈕Clickfunction selectNode() {var selectionMode = tplMain.getSelectionModel();var selection = selectionMode.selNode; //獲取選中的值if (selection == null) {alert("請(qǐng)選擇");}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));}?
得到的卻是:假如我第一次單擊的是‘華交會(huì)’得到的提示卻是“請(qǐng)選擇”, 第二次任意單擊其他則得到我要的‘華交會(huì)’ ,測(cè)試發(fā)現(xiàn)tplMain.getSelectionModel()取到的值是null
?
謎底還沒(méi)解除來(lái),有ext高手的還請(qǐng)解釋下why??
?
解決方法:直接給TreePanel添加單擊事件TreePanel.Listeners.Click.Handler = "ClickNode(node)";
?
tplMain.Listeners.Click.Handler = "ClickNode(node)"; //樹(shù) 單擊取值主鍵FID function ClickNode(node) {alert(node.attributes.text);//alert(node.attributes.id);}?
效果:
?
功能雖實(shí)現(xiàn),但是第一種方法不行的原因還不是明白,?有ext高手的還請(qǐng)解釋下why??
?
?
?
?
?
作者:PEPE
出處:http://pepe.cnblogs.com/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。
總結(jié)
以上是生活随笔為你收集整理的ext.net TreePanel单击取值的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 叔叔我要可乐,要冰冻的
- 下一篇: Firefox无法加载12306自家证书