要求生成一顆部門(mén)樹(shù),初始只列出根部門(mén) 當(dāng)點(diǎn)擊一個(gè)部門(mén)節(jié)點(diǎn)時(shí),動(dòng)態(tài)載入該部門(mén)下的直屬子部門(mén),并展開(kāi)該部門(mén)節(jié)點(diǎn) 部門(mén)節(jié)點(diǎn)要求支持右鍵單擊事件,當(dāng)點(diǎn)擊右鍵時(shí),列出相關(guān)操作菜單 二. 關(guān)鍵類

這里主要涉及Ext JS " /> 亚洲国产成人av,天天拍天天射,91毛片网

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

利用Ext Js生成動(dòng)態(tài)樹(shù)實(shí)例代碼

一. 需求

要求生成一顆部門(mén)樹(shù),初始只列出根部門(mén)
當(dāng)點(diǎn)擊一個(gè)部門(mén)節(jié)點(diǎn)時(shí),動(dòng)態(tài)載入該部門(mén)下的直屬子部門(mén),并展開(kāi)該部門(mén)節(jié)點(diǎn)
部門(mén)節(jié)點(diǎn)要求支持右鍵單擊事件,當(dāng)點(diǎn)擊右鍵時(shí),列出相關(guān)操作菜單
二. 關(guān)鍵類

這里主要涉及Ext JS的兩個(gè)類:

Ext.tree.TreeNode
Ext.menu.Menu
相關(guān)API可以參考:http://extjs.com/deploy/ext/docs/

三. 代碼示例

1. 先看一下測(cè)試頁(yè)面
復(fù)制代碼 代碼如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Reorder TreePanel</title>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
<script type="text/Javascript" src="../../adapter/ext/ext-base.js"></script>
<script type="text/Javascript" src="../../ext-all.js"></script>
<script type="text/Javascript" src="reorder.js"></script>


<!-- Common Styles for the examples -->
<link rel="stylesheet" type="text/css" href="../shared/examples.css" />
<link rel="stylesheet" type="text/css" href="../shared/lib.css" />


<script type="text/Javascript">
/**************
onload事件
***************/
window.onload=function(){
createTree(3);
}
</script>


</head>
<body>
<script type="text/Javascript" src="../shared/examples.js"></script>
<h1>現(xiàn)在要生成一顆動(dòng)態(tài)樹(shù)</h1>
<div id="container">
</div>
</body>
</html>

2. 再看一下生成樹(shù)的函數(shù)
復(fù)制代碼 代碼如下:
/***********************************
創(chuàng)建樹(shù)
by chb
************************************/
function createTree(n){


Ext.QuickTips.init();
var mytree=new Ext.tree.TreePanel({
el:"container",
animate:true,
title:"Extjs動(dòng)態(tài)樹(shù)",
collapsible:true,
enableDD:true,
enableDrag:true,
rootVisible:true,
autoScroll:true,
autoHeight:true,
width:"30%",
lines:true
});

//根節(jié)點(diǎn)
var root=new Ext.tree.TreeNode({
id:"root",
text:"集團(tuán)公司",
expanded:true
});


for(var i=0;i<n;i++){
var sub1=new Ext.tree.TreeNode({
id:i+1,
text:"子公司"+(i+1),
singleClickExpand:true,
listeners:{
//監(jiān)聽(tīng)單擊事件
"click":function(node){
myExpand(node);
},
//監(jiān)聽(tīng)右鍵
"contextmenu":function(node,e){
//列出右鍵菜單
menu=new Ext.menu.Menu([
{
text:"打開(kāi)當(dāng)前節(jié)點(diǎn)",
icon:"list.gif",
handler:function(){
myExpand(node);
}
},
{
text:"編輯當(dāng)前節(jié)點(diǎn)",
icon:"list.gif",
handler:function(){
alert(node.id);
}
},
{
text:"刪除當(dāng)前節(jié)點(diǎn)",
icon:"list.gif",
handler:function(){
alert(node.id);
}
}]);
//顯示在當(dāng)前位置
menu.showAt(e.getPoint());
}
}
});
root.appendChild(sub1);
}
mytree.setRootNode(root);//設(shè)置根節(jié)點(diǎn)
mytree.render();//不要忘記render()下,不然不顯示哦
}

3. 展開(kāi)子節(jié)點(diǎn)的代碼
復(fù)制代碼 代碼如下:
/******************************************
展開(kāi)節(jié)點(diǎn)
******************************************/
function myExpand(node){
if(node.id=='1'){
if(node.item(0)==undefined){
node.appendChild(new Ext.tree.TreeNode({
id:node.id+'1',
text:node.text+"的第一個(gè)兒子",
hrefTarget:"mainFrame",
listeners:{//監(jiān)聽(tīng)
"click":function(node,e){
expand2(node)
}
}
}));
}


node.expand();


}else if(node.id=='2'){
node.appendChild(new Ext.tree.TreeNode({
id:node.id+'2',
text:node.text+"的第一個(gè)兒子",
hrefTarget:"mainFrame",
listeners:{//監(jiān)聽(tīng)
"click":function(node){
expand2(node)
}
}
}));
}else{
alert(node.id+"沒(méi)有子部門(mén)了");
}
}

讀者可以自己運(yùn)行一下如上代碼,會(huì)發(fā)現(xiàn)如下現(xiàn)象:無(wú)論點(diǎn)擊“子公司1”多少次,只會(huì)列出“子公司1的第一個(gè)兒子”一個(gè)節(jié)點(diǎn),而每點(diǎn)擊一次“子公司2”,就會(huì)多出一個(gè)“子公司2的第一個(gè)兒子”節(jié)點(diǎn),這是為什么呢?

因?yàn)槊看吸c(diǎn)擊都會(huì)激發(fā)myExpand函數(shù),而“子公司1”上加了node.item(0)==undefined的判斷,這里明白了?
即:如果該部門(mén)下沒(méi)有子部門(mén),則載入子部門(mén),否則只展開(kāi),不重新載入。

好了,就到這里吧,困了,就不詳細(xì)解釋了o(∩_∩)o...哈哈

JavaScript技術(shù)利用Ext Js生成動(dòng)態(tài)樹(shù)實(shí)例代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 就爱小姐姐| 金针菇尽量少吃最好不吃什么| 男女电视剧| 艳肉观世音性三级| 翡翠恋人免费观看全集电视剧高清| 内裤之穴| 康巴卫视直播| 社会主义改造理论ppt| 廊桥遗梦 电影| 内蒙古通辽地图| 纳尼亚传奇| 美娜个人资料简介| 一千年以后简谱| 张柏芝艳照视频| 朴允载| 戚继光电影| 建设工程档案归档整理规范| 日本电影芋虫| 血糖最怕三种水果| 痴汉电车排名前十番号| 男生虐茎虐睾视频网站| 风间由美的作品| 人气生活曾经的辣妹动漫在线观看第二季| 不留痕迹| 电影《salawahan》| 杨冲| 伊人春色在线观看视频| 风云雄霸天下| 全国精神病查询系统官网| 李安娜| 快乐到家| 曹查理新剧《三姐妹》| 日本变态网站| 搜狐手机网首页新闻| cctv16体育节目表今天目表| 《满意度》电影免费观看| 二次元炫酷帅气壁纸| run on| 镇魂街第三季| midjourney中文版| 湖北经视频道|