第十六講:ExtJS組件之GridPanel(上)

數據存儲器由Ext.data.Store定義,數據存儲器根據解析的數據不同分爲JsonStore、SimpleStroe、GroupingStore等。

示例一:最簡單的GridPanel。

Ext.onReady(function(){

var data = [

[1,"張三",20],

[2,"李四",20],

[3,"王五",20],

[4,"趙六",20]

]

 

var store = new Ext.data.SimpleStore({

data:data,

fields:["id","name","age"]

});

 

var gridPanel = new Ext.grid.GridPanel({

id:"gridPanel",

renderTo:"showGrid",

title:"員工信息",

width:400,

height:400,

store:store,

columns:[

{header:"id",dataIndex:"id"},

{header:"姓名",dataIndex:"name"},

{header:"年齡",dataInde:"age"}

],

autoExpandColumn:2// 默認自動擴展寬度的字段

});

});

 

示例二:可排序的GridPanel。

Ext.onReady(function(){

var data = [

[1,"張三",43],

[2,"李四",34],

[3,"王五",26],

[4,"趙六",67]

]

 

var store = new Ext.data.SimpleStore({

data:data,

fields:["id","name","age"]

});

 

var gridPanel = new Ext.grid.GridPanel({

id:"gridPanel",

renderTo:"showGrid",

title:"員工信息",

width:400,

height:400,

store:store,

columns:[

{header:"id",dataIndex:"id",sortable:true},

{header:"姓名",dataIndex:"name",sortable:true},

{header:"年齡",dataIndex:"age",sortable:true}

],

autoExpandColumn:2// 默認自動擴展寬度的字段

});

});

 

示例三:使用Ext.grid.ColumnModel來創建表格中列的定義信息。

Ext.onReady(function(){

var data = [

[1,"張三",43],

[2,"李四",34],

[3,"王五",26],

[4,"趙六",67]

]

 

var store = new Ext.data.SimpleStore({

data:data,

fields:["id","name","age"]

});

 

var colM = new Ext.grid.ColumnModel([

{header:"id",dataIndex:"id",sortable:true},

{header:"姓名",dataIndex:"name",sortable:true},

{header:"年齡",dataIndex:"age",sortable:true}

]);

 

var gridPanel = new Ext.grid.GridPanel({

id:"gridPanel",

renderTo:"showGrid",

title:"員工信息",

width:400,

height:400,

store:store,

cm:colM,

autoExpandColumn:2// 默認自動擴展寬度的字段

});

});

 

示例四:添加鏈接。

function showUrl(value){

return "<a href=http://"+value+">"+value+"</a>";

}

 

Ext.onReady(function(){

var data = [

[1,"張三",43,"www.ibeifeng.com"],

[2,"李四",34,"www.ibeifeng.com"],

[3,"王五",26,"www.ibeifeng.com"],

[4,"趙六",67,"www.ibeifeng.com"]

]

 

var store = new Ext.data.SimpleStore({

data:data,

fields:["id","name","age","homePage"]

});

 

var colM = new Ext.grid.ColumnModel([

{header:"id",dataIndex:"id",sortable:true},

{header:"姓名",dataIndex:"name",sortable:true},

{header:"年齡",dataIndex:"age",sortable:true},

{header:"個人主頁",dataIndex:"homePage",renderer:showUrl}

]);

 

var gridPanel = new Ext.grid.GridPanel({

id:"gridPanel",

renderTo:"showGrid",

title:"員工信息",

width:500,

height:400,

store:store,

cm:colM,

autoExpandColumn:3// 默認自動擴展寬度的字段

});

});

 

示例五:使用JsonStore數據存儲器。

function showUrl(value){

return "<a href=http://"+value+">"+value+"</a>";

}

 

Ext.onReady(function(){

var data = [

{

id:1,

name:"張三",

age:43,

homePage:"www.ibeifeng.com"

},

{

id:2,

name:"李四",

age:34,

homePage:"www.ibeifeng.com"

},

{

id:3,

name:"王五",

age:26,

homePage:"www.ibeifeng.com"

},

{

id:4,

name:"趙六",

age:67,

homePage:"www.ibeifeng.com"

}

 

]

 

var store = new Ext.data.JsonStore({

data:data,

fields:["id","name","age","homePage"]

});

 

var colM = new Ext.grid.ColumnModel([

{header:"id",dataIndex:"id",sortable:true},

{header:"姓名",dataIndex:"name",sortable:true},

{header:"年齡",dataIndex:"age",sortable:true},

{header:"個人主頁",dataIndex:"homePage",renderer:showUrl}

]);

 

var gridPanel = new Ext.grid.GridPanel({

id:"gridPanel",

renderTo:"showGrid",

title:"員工信息",

width:500,

height:400,

store:store,

cm:colM,

autoExpandColumn:3// 默認自動擴展寬度的字段

});

});

 

示例六:使用XML儲存數據。

<?xml version="1.0" encoding="UTF-8"?>

<dataset>

<row>

<id>1</id>

<name>張三</name>

<age>43</age>

<homePage>www.ibeifeng.com</homePage>

</row>

<row>

<id>2</id>

<name>李四</name>

<age>24</age>

<homePage>www.ibeifeng.com</homePage>

</row>

<row>

<id>3</id>

<name>王五</name>

<age>45</age>

<homePage>www.ibeifeng.com</homePage>

</row>

<row>

<id>4</id>

<name>趙六</name>

<age>12</age>

<homePage>www.ibeifeng.com</homePage>

</row>

</dataset>

 

function showUrl(value){

return "<a href=http://"+value+" target='_blank'>"+value+"</a>";

}

 

Ext.onReady(function(){

var store=new Ext.data.Store({

url:"data.xml",

reader:new Ext.data.XmlReader({

record:"row"},

["id","name","age","homePage"])

});

 

var colM = new Ext.grid.ColumnModel([

{header:"id",dataIndex:"id",sortable:true},

{header:"姓名",dataIndex:"name",sortable:true},

{header:"年齡",dataIndex:"age",sortable:true},

{header:"個人主頁",dataIndex:"homePage",renderer:showUrl}

]);

 

var gridPanel = new Ext.grid.GridPanel({

id:"gridPanel",

renderTo:"showGrid",

title:"員工信息",

width:500,

height:400,

store:store,

cm:colM,

autoExpandColumn:3// 默認自動擴展寬度的字段

});

 

store.load();

});

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章