`
hudixin1987
  • 浏览: 15219 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

extjs 加上dwr tree

 
阅读更多

这里是js类 创建一个树。。

从java 类中 直接返回一个 bean 的集合(List ,Set)都行。。。

Ext.BLANK_IMAGE_URL='js/resources/images/vista/s.gif';

Ext.onReady(
function()...{
vari=20;
//从DWR中加载数据自动转换成json格式
vartreeLoader=newExt.tree.DWRTreeLoader(...{


dwrCall:CheckBean.getTreeNode
//调用java方法
}
);

//定义树
varTree=Ext.tree;

vartree=newTree.TreePanel(...{

el:
'tree-div',//目标div容器



animate:
true,

enableDD:
true,

containerScroll:
true,

loader:treeLoader

}
);


//树中加入一个右键菜单事件
tree.on('contextmenu',onContextMenu);

functiononContextMenu(node,e)...{
varmenu;
if(!menu)...{
menu
=newExt.menu.Menu([...{

id:node.id
+'add',
text:
'添加一个文件',
handler:
function()...{

node.appendChild(
newTree.AsyncTreeNode(...{

text:node.childNodes.length.toString(),
id:i
+++'',
expanded:
true
}
));

}

}
,...{

id:node.id
+'del',
text:
'删除接点',
handler:
function()...{
if(node.id!=-1)...{
node.remove();
}
else...{

Ext.Msg.alert(
'错误','根结点不能删除');
}

}

}
]);

}


menu.showAt(e.getPoint());
node.on(
'append',onAppend);

functiononAppend(tree,thisNode,newNode,index)...{

alert();


}



}


//定义根节点
varroot=newExt.tree.AsyncTreeNode(...{

text:
'组织机构图',

draggable:
false,

id:
'-1'//默认的node值:?node=-1

}
);

tree.setRootNode(root);

tree.render();

root.expand();

}
);

bean 的命名 必须 遵守规范

所有字段 必须遵守命名规范

如何不想使用这样的命名 就要修改 Ext.tree.DWRTreeloader.js这个类

packagecom;

importjava.util.List;

publicclassOrgBean...{


//是否加载字节点下的所有节点
privatebooleanchildrenLoaded=false;
//是否用子节点
privatebooleanhasChildren=true;
//是否加载时候展开
privatebooleanexpanded=false;
//tree的id属性
privateStringid;
//tree的name属性
privateStringtext;
//当前类的集合
privateList<OrgBean>children;



publicList<OrgBean>getChildren()...{
returnchildren;
}


publicvoidsetChildren(List<OrgBean>children)...{
this.children=children;
}


publicStringgetId()...{
returnid;
}


publicvoidsetId(Stringid)...{
this.id=id;
}


publicStringgetText()...{
returntext;
}


publicvoidsetText(Stringtext)...{
this.text=text;
}






publicbooleanisChildrenLoaded()...{
returnchildrenLoaded;
}


publicvoidsetChildrenLoaded(booleanchildrenLoaded)...{
this.childrenLoaded=childrenLoaded;
}


publicbooleanisExpanded()...{
returnexpanded;
}


publicvoidsetExpanded(booleanexpanded)...{
this.expanded=expanded;
}


publicbooleanisHasChildren()...{
returnhasChildren;
}


publicvoidsetHasChildren(booleanhasChildren)...{
this.hasChildren=hasChildren;
}




}

OrgDwr.java

没什么好说的 一个 递归 加载数据

packagecom;

importjava.util.List;

publicclassOrgDwr...{

privateOrgDAOorgDAO=newOrgDAO();

publicList<OrgBean>getTreeNode(StringtreeId)...{
System.out.println(treeId);
List
<OrgBean>list=orgDAO.findByParentID(Integer.parseInt(treeId));



returnget(list);
}


privateList<OrgBean>get(List<OrgBean>list)...{

for(OrgBeanbean:list)...{
System.out.println(bean.getText());
List
<OrgBean>list2=orgDAO.findByParentID(Integer.parseInt(bean.getId()));


if(list2.size()>0)...{
bean.setChildren(list2);
get(list2);
break;
}


bean.setHasChildren(
false);

}


returnlist;
}


}

html 如何 引用 超级简单 把几个 js 加载进去就ok了

<%...@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%...
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+"://"
+request.getServerName()+":"+request.getServerPort()
+path+"/";
%>

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<basehref="<%=basePath%>">

<title>MyJSP'org.jsp'startingpage</title>


<linkrel="stylesheet"type="text/css"
href
="js/resources/css/ext-all.css"/>
<scripttype="text/javascript"src="js/ext-base.js"></script>
<scripttype="text/javascript"src="js/ext-all.js"></script>
<scripttype="text/javascript"src="js/MyAsynTreeNode.js"></script>
<scripttype="text/javascript"src="js/DWRTreeLoder.js"></script>
<scripttype='text/javascript'
src='/ExtTree/dwr/interface/CheckBean.js'></script>
<scripttype='text/javascript'src='/ExtTree/dwr/engine.js'></script>

<scripttype='text/javascript'src='/ExtTree/dwr/util.js'></script>

<scripttype="text/javascript"src="js/extdwr.js"></script>
</head>

<body>
<!--树加载的位置-->
<divid="tree-div"
style
="overflow:auto;height:300px;width:200px;border:2pxsolid#c3daf9;"></div>

</body>
</html>

用需要 源码的话 把邮箱留下来 我给你们传过去

分享到:
评论

相关推荐

    基于s2sh+Extjs+dwr OA系统带全部JAR

    用的东西比较杂,主要为了学习一下知识呵呵: ssh2、dwr、jquery、extjs、jquery weekcalendar、jfreechart、jasperreport 联系人实现了拖动实现好友分组。可以把grid直接拖到tree,不同于其他的例子,拖动grid后会...

    Extjs Tree + JSON + Struts2 示例源代码

    Extjs Tree + JSON + Struts2 示例源代码

    精通JS脚本之ExtJS框架.part2.rar

    13.7 Ext.ux.DWR 13.7.1 Ext.data.DwrProxy 13.7.2 Ext.data.DWRTreeLoader 13.7.4 Web服务端配置 13.7.5 服务层接口 第14章 ExtJS扩展 14.1 利用Ext.extend实现继承 14.2 与ExtJS扩展相关的预备知识 14.2.1...

    ssh2 extjs oa

    用的东西比较杂,主要为了学习一下知识呵呵: ssh2、dwr、jquery、extjs、jquery weekcalendar、jfreechart、jasperreport 联系人实现了拖动实现好友分组。可以把grid直接拖到tree,不同于其他的例子,拖动grid后会在...

    精通JS脚本之ExtJS框架.part1.rar

    13.7 Ext.ux.DWR 13.7.1 Ext.data.DwrProxy 13.7.2 Ext.data.DWRTreeLoader 13.7.4 Web服务端配置 13.7.5 服务层接口 第14章 ExtJS扩展 14.1 利用Ext.extend实现继承 14.2 与ExtJS扩展相关的预备知识 14.2.1...

    自己用ssh2 和 ext 做的简单oa

    用的东西比较杂,主要为了学习一下知识呵呵: ssh2、dwr、jquery、extjs、jquery weekcalendar、jfreechart、jasperreport 联系人实现了拖动实现好友分组。可以把grid直接拖到tree,不同于其他的例子,拖动grid后会在...

    Ext 开发指南 学习资料

    2.7.3. 迫不得已,要加上后台脚本了。 2.7.4. 其实分页不一定要踩在脚下,也可以顶在头上。 2.7.5. 谣言说ext不支持前台排序 2.8. 爱生活,EditorGrid。 2.8.1. 旋动舞步,看我们怎么把这个EditorGrid炫出来。 2.8.2...

    EXT教程EXT用大量的实例演示Ext实例

    9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...

    EXT2.0中文教程

    9.2. 带全选的checkbox树形CheckBoxTree 9.3. 带全选的checkbox的grid 9.4. fisheye 9.5. 可以设置时间的日期控件 9.6. JsonView实现用户卡片拖拽与右键菜单 9.7. 下拉列表选择每页显示多少数据 10. 撕裂吧!...

    北风客户关系管理源码 CRM

    再加上设计轻巧的JQuery框架,一个完美的整合框架由此而生。 3.真实的案例 该案例是一个价值6万元的项目,当然在功能和工作量上有部分缩水,但是技术绝对不会缩水。 4.项目中技术点: 该项目中的技术点可谓众多,每个...

Global site tag (gtag.js) - Google Analytics