手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >ExtJs 3.1 XmlTreeLoader Example Error
ExtJs 3.1 XmlTreeLoader Example Error
摘要:前言关键字:ExtJs3.1XmlTreeLoaderExampleError,XmlTreeLoader错误,TreePanelError...

前言

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

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

原文

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

正文

1.代码位置:Ext3.1examplestreexml-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>{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

}]

});

});

结束语

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

【ExtJs 3.1 XmlTreeLoader Example Error】相关文章:

js脚本学习 比较实用的基础

JQuery+CSS实现图片上放置按钮的方法

JavaScript使用技巧精选

javascript实现dom动态创建省市纵向列表菜单的方法

javascript插件开发的一些感想和心得

根据内容自动调整弹出窗口大小的JS解决方案

Javascript监视变量变化的方法

图片分页查看 原创

JavaScript中用toString()方法返回时间为字符串

jQuery实现给页面换肤的方法

精品推荐
分类导航