欢迎访问中国最大的EXTJS讨论社区 首页 论坛 教程

Ext教程-一起Ext

当前位置: 首页 > 教程 > Ext Tree Menu Toolbar >

关于Ext Js生成动态树的一个实例

时间:2009-04-01 15:31来源: 作者: 点击:
在这给大家分享一个用Ext Js生成动态树的示例,代码和生成后的效果图如下,希望给大家有所帮助! 一. 需求 要求生成一颗部门树,初始只列出根部门 ,当点击一个部门节点时,动态载

  

在这给大家分享一个用Ext Js生成动态树的示例,代码和生成后的效果图如下,希望给大家有所帮助!
一. 需求
要求生成一颗部门树,初始只列出根部门 ,当点击一个部门节点时,动态载入该部门下的直属子部门,并展开该部门节点 ,部门节点要求支持右键单击事件,当点击右键时,列出相关操作菜单
二. 关键类
这里主要涉及Ext JS的两个类:
Ext.tree.TreeNode
Ext.menu.Menu
相关API可以参考:
三. 代码示例
1. 先看一下测试页面
<html>
<head>
<meta http-equiv="Content-Type" c>
<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>现在要生成一颗动态树</h1>
<div id="container">
    </div>
</body>
</html>
2. 再看一下生成树的函数
/***********************************
    创建树
    by chb
************************************/
function createTree(n){
    Ext.QuickTips.init();
    var mytree=new Ext.tree.TreePanel({
      el:"container",
      animate:true,
      title:"Extjs动态树",
      collapsible:true,
      enableDD:true,
      enableDrag:true,
      rootVisible:true,
      autoScroll:true,
      autoHeight:true,
      width:"30%",
      lines:true
    });
 
  //根节点
  var root=new Ext.tree.TreeNode({
      id:"root",
      text:"集团公司",
      expanded:true
  });
    for(var i=0;i<n;i++){
        var sub1=new Ext.tree.TreeNode({
        id:i+1,
        text:"子公司"+(i+1),
        singleClickExpand:true,
        listeners:{
            //监听单击事件
            "click":function(node){
                myExpand(node);
            },
            //监听右键
            "contextmenu":function(node,e){
                //列出右键菜单
                menu=new Ext.menu.Menu([
                  {
                    text:"打开当前节点",
                    icon:"list.gif",
                    handler:function(){
                        myExpand(node);
                    }
                },
                {
                        text:"编辑当前节点",
                        icon:"list.gif",

声明:本站教程文章版权为一起Ext(http://www.17ext.com/)所有,转载请注明出处
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容