ExtJs 3.1 XmlTreeLoader Example Error


Posted in Javascript onFebruary 09, 2010

前言

关键字:ExtJs 3.1 XmlTreeLoader Example Error,XmlTreeLoader 错误,TreePanel Error

ExtJs 3.1的XmlTreeLoader例子折腾了我近一个下午加晚上,官方的例子没有问题,可以加载xml的数据,本地IIS死活不行,也不报错,直接查看官方的代码也是一模一样的,今早意外给让我搜到了,不是在官方,而是在貌似一个韩国的博客里面找到的,致敬一下,本文且做其简单中文"译"本。

原文

http://javarush.com/entry/ExtJS-XmlTreeLoader-Error 

正文

1.

代码位置:Ext3.1\examples\tree\xml-tree-loader.js

2.

注意标红新增代码",requestMethod: 'GET'"!!

/*! 
* Ext JS Library 3.1.0 
* Copyright(c) 2006-2009 Ext JS, LLC 
* licensing@extjs.com 
* http://www.extjs.com/license 
*/ // 
// Extend the XmlTreeLoader to set some custom TreeNode attributes specific to our application: 
// 
Ext.app.BookLoader = Ext.extend(Ext.ux.tree.XmlTreeLoader, { 
processAttributes : function(attr){ 
if(attr.first){ // is it an author node? 
// Set the node text that will show in the tree since our raw data does not include a text attribute: 
attr.text = attr.first + ' ' + attr.last; 
// Author icon, using the gender flag to choose a specific icon: 
attr.iconCls = 'author-' + attr.gender; 
// Override these values for our folder nodes because we are loading all data at once. If we were 
// loading each node asynchronously (the default) we would not want to do this: 
attr.loaded = true; 
attr.expanded = true; 
} 
else if(attr.title){ // is it a book node? 
// Set the node text that will show in the tree since our raw data does not include a text attribute: 
attr.text = attr.title + ' (' + attr.published + ')'; 
// Book icon: 
attr.iconCls = 'book'; 
// Tell the tree this is a leaf node. This could also be passed as an attribute in the original XML, 
// but this example demonstrates that you can control this even when you cannot dictate the format of 
// the incoming source XML: 
attr.leaf = true; 
} 
} 
}); 
Ext.onReady(function(){ 
var detailsText = '<i>Select a book to see more information...</i>'; 
var tpl = new Ext.Template( 
'<h2 class="title">{title}</h2>', 
'<p><b>Published</b>: {published}</p>', 
'<p><b>Synopsis</b>: {innerText}</p>', 
'<p><a href="{url}" target="_blank">Purchase from Amazon</a></p>' 
); 
tpl.compile(); 
new Ext.Panel({ 
title: 'Reading List', 
renderTo: 'tree', 
layout: 'border', 
width: 500, 
height: 500, 
items: [{ 
xtype: 'treepanel', 
id: 'tree-panel', 
region: 'center', 
margins: '2 2 0 2', 
autoScroll: true, 
rootVisible: false, 
root: new Ext.tree.AsyncTreeNode(), 
// Our custom TreeLoader: 
loader: new Ext.app.BookLoader({ 
dataUrl:'xml-tree-data.xml' 
,requestMethod: 'GET' 
}), 
listeners: { 
'render': function(tp){ 
tp.getSelectionModel().on('selectionchange', function(tree, node){ 
var el = Ext.getCmp('details-panel').body; 
if(node && node.leaf){ 
tpl.overwrite(el, node.attributes); 
}else{ 
el.update(detailsText); 
} 
}) 
} 
} 
},{ 
region: 'south', 
title: 'Book Details', 
id: 'details-panel', 
autoScroll: true, 
collapsible: true, 
split: true, 
margins: '0 2 2 2', 
cmargins: '2 2 2 2', 
height: 220, 
html: detailsText 
}] 
}); 
});

结束语

不要放弃和接受一次失败的搜索,不断的尝试改变搜索关键字,哪怕是用词霸翻成英文也得努力去试试,看不懂不要紧,看懂代码就行,代码无国界: )

Javascript 相关文章推荐
JS 判断代码全收集
Apr 28 Javascript
JQuery表格内容过滤的实现方法
Jul 05 Javascript
jQuery遍历Form示例代码
Sep 03 Javascript
js 遍历json返回的map内容示例代码
Oct 29 Javascript
javascript中String对象的slice()方法分析
Dec 20 Javascript
js比较日期大小的方法
May 12 Javascript
JavaScript添加随滚动条滚动窗体的方法
Feb 23 Javascript
原生js轮播特效
May 18 Javascript
JS数组操作中的经典算法实例讲解
Jul 26 Javascript
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
JavaScript DOM元素常见操作详解【添加、删除、修改等】
May 09 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
Dec 13 Javascript
Javascript 获取链接(url)参数的方法[正则与截取字符串]
Feb 09 #Javascript
一个XML格式数据转换为图表的例子
Feb 09 #Javascript
javascript 解析url的search方法
Feb 09 #Javascript
toString()一个会自动调用的方法
Feb 08 #Javascript
jQuery AJAX回调函数this指向问题
Feb 08 #Javascript
JavaScript Event学习第九章 鼠标事件
Feb 08 #Javascript
JavaScript 类似flash效果的立体图片浏览器
Feb 08 #Javascript
You might like
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
php获取四位字母和数字的随机数的实现方法
2015/01/09 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
JavaScript 空位补零实现代码
2010/02/26 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
基于PHP和Mysql相结合使用jqGrid读取数据并显示
2015/12/02 Javascript
鼠标悬停小图标显示大图标
2016/01/22 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
微信小程序 图片宽度自适应的实现
2017/04/06 Javascript
JS正则验证多个邮箱完整实例【邮箱用分号隔开】
2017/04/19 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
vue响应式系统之observe、watcher、dep的源码解析
2019/04/09 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
python time()的实例用法
2020/11/03 Python
给定一个时间点,希望得到其他时间点
2013/11/07 面试题
工程部经理岗位职责
2013/12/08 职场文书
小学生演讲稿
2014/01/12 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书