Ext做一些小系统确实不错
最近由于工作需要,要用到Ext,根据需求就开发了个Ext的软件,功能方面还有待改善,下面将我的
一些相关用到的文件分享如下:
1.Ext简介
ext是一个强大的js类库,以前是基于YAHOO-UI,现在已经完全独立了, 主要包括data,widget,form,grid,dd,menu,
其中最强大的应该算grid了,编程思想是基于面向对象编程(oop),扩展性相当的好.可以自己写扩展.自己定义命名空间.web
应用可能感觉太大.不过您可以根据需要按需加载您想要的类库就可以了. 主要包括三个大的文件ext-all.css,ext-
base.js,ext-all.js(包括所有的类库,您可以根据需要进行删减.官方网站提供这一接口),在引用ext类库的时候.这三个文
件必不可少. 它提供了丰富的,非常漂亮的外观体验,成为众多界面层开发人员的追捧!其核心的组件基本覆盖了我们
构建富客户端的常用的组件。 从 Ext 2开始,商业版(针对那些以盈利为目的的开发方)要收费了。这可能会影响一些
他的应用前景。
目前的最新版本为3.2.2.
2.关于extjs 的tree
部分JS代码
function getSubTree(node){
if(node.firstChild.text=='loading'){
Ext.Ajax.request({
url: 'tree.do',
params: {node : node.id},
method: 'POST',
timeout: 60*1000, //1分钟
success: function(v){
//成功返回
var myData = eval(v.responseText); // 得到服务器返回的json串
if(v.responseText == null || myData.length == 0){
node.firstChild.remove();
return;
}
for(var i = 0; i < myData.length; i++){
var cnode = new Ext.tree.AsyncTreeNode({
id : myData[i].id,
text : myData[i].text,
leaf : myData[i].isLeaf,
href : "Handle.do?id=" + myData[i].id,
hrefTarget : TARGET,
children : [{
//添加子节点,如果服务器返回tl[i].leaf为true则孩子节点将无法显示
text : 'loading',
iconCls: 'loading',
leaf:true
}]
});
cnode.on('expand',getSubTree);
node.appendChild(cnode);
}
node.firstChild.remove();//删除当前节点第一个孩子节点(loading节点)
},
// 失败
failure: function(){
alert("获取子节点出错");
}
});
}
}
3.程序截图