EXTJS是一个兼容AJAX的前台WEB UI的框架,在普通的HTML文件的 BODY 元素中无须写任何HTML代码,就能产生相应的表格等元素。
原创不易,转载请注明出处:EXTJS入门教程及其框架搭建
代码下载地址:http://www.zuidaima.com/share/1724474768788480.htm
首先是为每一个页面定义一个类,再以EXTJS的规范格式增加所需的元素,可以使用所见所得的工具:extbuilder 来操作,这个类将以XXXXX.js的文件名保存,最后在相应的HTML页面中引入相关的JS和CSS文件:
1 |
<script
type= "
text/javascript " src= "/EXTJS/ext-2.2/adapter/ext/ext-base.js
" ></script> |
2 |
<script
type= "
text/javascript " src= "/EXTJS/ext-2.2/ext-all-debug.js
" ></script> |
3 |
<link
rel= "
stylesheet " type= "
text/css " href= "
/EXTJS/ext-2.2/resources/css/ext-all.css " /> |
4 |
<script
type= "
text/javascript " src= "XXXXX.js
" ></script> |
并在BODY中加入下面这段JAVA SCRIPT:
01 |
<script> |
02 |
Ext.onReady(
function () { |
03 |
Ext.QuickTips.init(); |
04 |
Ext.form.Field.prototype.msgTarget= ‘side‘ ; |
05 |
var
viewport= new Ext.Viewport(
{ |
06 |
layout
: ‘fit‘ , |
07 |
border
: false , |
08 |
items
: [ new system.XXXXX()] |
09 |
}); |
10 |
viewport.render(); |
11 |
}); |
12 |
</script> |
其中XXXXX就是之前新加的JS类,则EXT引擎就会以一定的非常漂亮的样式渲染出页面来,并且以后的页面风格要改变,只须更换CSS即可,无须改动页面。
附完整的代码:
PagingGridPanel.js
001 |
Ext.namespace( ‘system‘ ); |
002 |
system.PagingGridPanel
= function(config) { |
003 |
Ext.applyIf( this ,
config); |
004 |
this .initUIComponents(); |
005 |
system.PagingGridPanel.superclass.constructor.call( this ); |
006 |
this .loadData(); |
007 |
}; |
008 |
Ext.extend(system.PagingGridPanel,
Ext.Panel, { |
009 |
initUIComponents
: function() { |
010 |
//
BEGIN OF CODE GENERATION PARTS, DON‘T DELETE CODE BELOW |
011 |
this .store1
= new Ext.data.Store({ |
012 |
proxy
: new Ext.data.MemoryProxy({ |
013 |
total
: 2 , |
014 |
root
: [{ |
015 |
age
: 56 , |
016 |
name
: "IOyFo" |
017 |
},
{ |
018 |
age
: 239 , |
019 |
name
: "87tPp" |
020 |
}] |
021 |
}), |
022 |
reader
: new Ext.data.JsonReader({ |
023 |
root
: "root" , |
024 |
total
: "total" , |
025 |
id
: "id" |
026 |
},
[{ |
027 |
mapping
: "name" , |
028 |
name
: "name" |
029 |
},
{ |
030 |
type
: "int" , |
031 |
mapping
: "age" , |
032 |
name
: "age" |
033 |
}]) |
034 |
}); |
035 |
036 |
this .gridPanel1
= new Ext.grid.GridPanel({ |
037 |
bbar
: new Ext.PagingToolbar({ |
038 |
xtype
: "paging" , |
039 |
emptyMsg
: "No
data to display" , |
040 |
displayMsg
: "Displaying
{0} - {1} of {2}" , |
041 |
store
: this .store1 |
042 |
}), |
043 |
selModel
: new Ext.grid.RowSelectionModel({}), |
044 |
columns
: [{ |
045 |
header
: "name" , |
046 |
dataIndex
: "name" , |
047 |
sortable
: true , |
048 |
hidden
: false |
049 |
},
{ |
050 |
header
: "age" , |
051 |
dataIndex
: "age" , |
052 |
sortable
: true , |
053 |
hidden
: false |
054 |
}], |
055 |
store
: this .store1, |
056 |
height
: 200 , |
057 |
tbar
: new Ext.Toolbar([{ |
058 |
handler
: function(button, event) { |
059 |
this .onButtonClick(button,
event); |
060 |
}.createDelegate( this ), |
061 |
text
: "button" |
062 |
},
{ |
063 |
handler
: function(button, event) { |
064 |
this .onButtonClick(button,
event); |
065 |
}.createDelegate( this ), |
066 |
text
: "button2" |
067 |
}]) |
068 |
}); |
069 |
070 |
Ext.apply( this ,
{ |
071 |
items
: [ this .gridPanel1] |
072 |
}); |
073 |
//
END OF CODE GENERATION PARTS, DON‘T DELETE CODE ABOVE |
074 |
}, |
075 |
loadData
: function() { |
076 |
this .store1.load(); |
077 |
}, |
078 |
onButtonClick
: function(button, event) { |
079 |
this .store1
= new Ext.data.Store({ |
080 |
proxy
: new Ext.data.MemoryProxy({ |
081 |
total
: 2 , |
082 |
root
: [{ |
083 |
age
: 56 , |
084 |
name
: "88888" |
085 |
},
{ |
086 |
age
: 239 , |
087 |
name
: "99999" |
088 |
}] |
089 |
}), |
090 |
reader
: new Ext.data.JsonReader({ |
091 |
root
: "root" , |
092 |
total
: "total" , |
093 |
id
: "id" |
094 |
},
[{ |
095 |
mapping
: "name" , |
096 |
name
: "name" |
097 |
},
{ |
098 |
type
: "int" , |
099 |
mapping
: "age" , |
100 |
name
: "age" |
101 |
}]) |
102 |
}); |
103 |
this .store1.reload(); |
104 |
} |
105 |
}); |
index.html
01 |
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
02 |
< html xmlns = "http://www.w3.org/1999/xhtml" > |
03 |
< head > |
04 |
< meta http-equiv = "Content-Type" content = "text/html;
charset=UTF-8" /> |
05 |
< script src = "http://cdn.bootcss.com/extjs/3.4.1-1/adapter/ext/ext-base.js" ></ script > |
06 |
< script src = "http://cdn.bootcss.com/extjs/3.4.1-1/ext-all-debug.js" ></ script > |
07 |
< link href = "http://cdn.bootcss.com/extjs/3.4.1-1/resources/css/ext-all.css" rel = "stylesheet" /> |
08 |
< script type = "text/javascript" src = "PagingGridPanel.js" ></ script > |
09 |
</ head > |
10 |
< body > |
11 |
< script > |
12 |
Ext.onReady(function()
{ |
13 |
Ext.QuickTips.init(); |
14 |
Ext.form.Field.prototype.msgTarget
= ‘side‘; |
15 |
var
viewport = new Ext.Viewport( { |
16 |
layout
: ‘fit‘, |
17 |
border
: false, |
18 |
items
: [new system.PagingGridPanel()] |
19 |
}); |
20 |
viewport.render(); |
21 |
}); |
22 |
</ script > |
23 |
24 |
</ body > |
25 |
</ html > |
项目截图
运行截图
EXTJS入门教程及其框架搭建,布布扣,bubuko.com
原文:http://blog.csdn.net/yaerfeng/article/details/22719101