ExtJs学习笔记(2)_Basic GridPanel[基本网格]
这一节,将学习如何使用网络上最常见的UI控件_Grid
1.静态示例:
静态示例其实官方下载包里,就有sample,这里只贴出代码,后面的如何跟WCF结合,做出动态版的Grid才是本文重点
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->
<!
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html;charset=utf-8" >
< link rel ="stylesheet" type ="text/css" href ="../resources/css/ext-all.css" />
< script type ="text/javascript" src ="../adapter/ext/ext-base.js" ></ script >
< script type ="text/javascript" src ="../ext-all.js" ></ script >
< title > ExtJsStudy </ title >
</ head >
< body >
< script type ="text/javascript" >
Ext.onReady(function(){
Ext.state.Manager.setProvider(newExt.state.CookieProvider());//设置缓存
//数据来源,实际应用用可动态读取
varmyData=[
['3mCo',71.72,0.02,0.03,'9/112:00am'],
['AlcoaInc',29.01,0.42,1.47,'9/112:00am'],
['AltriaGroupInc',83.81,0.28,0.34,'9/112:00am'],
['AmericanExpressCompany',52.55,0.01,0.02,'9/112:00am'],
['AmericanInternationalGroup,Inc.',64.13,0.31,0.49,'9/112:00am'],
['AT&TInc.',31.61,-0.48,-1.54,'9/112:00am'],
['BoeingCo.',75.43,0.53,0.71,'9/112:00am'],
['CaterpillarInc.',67.27,0.92,1.39,'9/112:00am'],
['Citigroup,Inc.',49.37,0.02,0.04,'9/112:00am'],
['E.I.duPontdeNemoursandCompany',40.48,0.51,1.28,'9/112:00am'],
['ExxonMobilCorp',68.1,-0.43,-0.64,'9/112:00am'],
['GeneralElectricCompany',34.14,-0.08,-0.23,'9/212:00am'],
['GeneralMotorsCorporation',30.27,1.09,3.74,'9/312:00am'],
['Hewlett-PackardCo.',36.53,-0.03,-0.08,'9/112:00am'],
['HoneywellIntlInc',38.77,0.05,0.13,'9/112:00am'],
['IntelCorporation',19.88,0.31,1.58,'9/112:00am'],
['InternationalBusinessMachines',81.41,0.44,0.54,'9/112:00am'],
['Johnson&Johnson',64.72,0.06,0.09,'9/112:00am'],
['JPMorgan&Chase&Co',45.73,0.07,0.15,'9/112:00am'],
['McDonald\'sCorporation',36.76,0.86,2.40,'9/112:00am'],
['Merck&Co.,Inc.',40.96,0.41,1.01,'9/112:00am'],
['MicrosoftCorporation',25.84,0.14,0.54,'9/112:00am'],
['PfizerInc',27.96,0.4,1.45,'9/112:00am'],
['TheCoca-ColaCompany',45.07,0.26,0.58,'9/112:00am'],
['TheHomeDepot,Inc.',34.64,0.35,1.02,'9/112:00am'],
['TheProcter&GambleCompany',61.91,0.01,0.02,'9/112:00am'],
['UnitedTechnologiesCorporation',63.26,0.55,0.88,'9/112:00am'],
['VerizonCommunications',35.57,0.39,1.11,'9/112:00am'],
['Wal-MartStores,Inc.',45.45,0.73,1.63,'9/112:00am']
];
//"变化"字段的格式化输出
functionchange(val){
if(val>0){
return'<spanstyle="color:green;">'+val+'</span>';
}elseif(val<0){
return'<spanstyle="color:red;">'+val+'</span>';
}
returnval;
}
//"变化(%)"字段的格式化输出
functionpctChange(val){
if(val>0){
return'<spanstyle="color:green;">'+val+'%</span>';
}elseif(val<0){
return'<spanstyle="color:red;">'+val+'%</span>';
}
returnval;
}
//创建数据存储(类似c#中的dataset构架)
varstore=newExt.data.SimpleStore({
fields:[
{name:'company'},
{name:'price',type:'float'},
{name:'change',type:'float'},
{name:'pctChange',type:'float'},
{name:'lastChange',type:'date',dateFormat:'n/jh:ia'}
]
});
store.loadData(myData);//加载数据
//创建数据表格
vargrid=newExt.grid.GridPanel({
store:store,
columns:[
{id:'company',header:"公司名",width:160,sortable:true,dataIndex:'company'},
{header:"价格",width:75,sortable:true,renderer:'usMoney',dataIndex:'price'},
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html;charset=utf-8" >
< link rel ="stylesheet" type ="text/css" href ="../resources/css/ext-all.css" />
< script type ="text/javascript" src ="../adapter/ext/ext-base.js" ></ script >
< script type ="text/javascript" src ="../ext-all.js" ></ script >
< title > ExtJsStudy </ title >
</ head >
< body >
< script type ="text/javascript" >
Ext.onReady(function(){
Ext.state.Manager.setProvider(newExt.state.CookieProvider());//设置缓存
//数据来源,实际应用用可动态读取
varmyData=[
['3mCo',71.72,0.02,0.03,'9/112:00am'],
['AlcoaInc',29.01,0.42,1.47,'9/112:00am'],
['AltriaGroupInc',83.81,0.28,0.34,'9/112:00am'],
['AmericanExpressCompany',52.55,0.01,0.02,'9/112:00am'],
['AmericanInternationalGroup,Inc.',64.13,0.31,0.49,'9/112:00am'],
['AT&TInc.',31.61,-0.48,-1.54,'9/112:00am'],
['BoeingCo.',75.43,0.53,0.71,'9/112:00am'],
['CaterpillarInc.',67.27,0.92,1.39,'9/112:00am'],
['Citigroup,Inc.',49.37,0.02,0.04,'9/112:00am'],
['E.I.duPontdeNemoursandCompany',40.48,0.51,1.28,'9/112:00am'],
['ExxonMobilCorp',68.1,-0.43,-0.64,'9/112:00am'],
['GeneralElectricCompany',34.14,-0.08,-0.23,'9/212:00am'],
['GeneralMotorsCorporation',30.27,1.09,3.74,'9/312:00am'],
['Hewlett-PackardCo.',36.53,-0.03,-0.08,'9/112:00am'],
['HoneywellIntlInc',38.77,0.05,0.13,'9/112:00am'],
['IntelCorporation',19.88,0.31,1.58,'9/112:00am'],
['InternationalBusinessMachines',81.41,0.44,0.54,'9/112:00am'],
['Johnson&Johnson',64.72,0.06,0.09,'9/112:00am'],
['JPMorgan&Chase&Co',45.73,0.07,0.15,'9/112:00am'],
['McDonald\'sCorporation',36.76,0.86,2.40,'9/112:00am'],
['Merck&Co.,Inc.',40.96,0.41,1.01,'9/112:00am'],
['MicrosoftCorporation',25.84,0.14,0.54,'9/112:00am'],
['PfizerInc',27.96,0.4,1.45,'9/112:00am'],
['TheCoca-ColaCompany',45.07,0.26,0.58,'9/112:00am'],
['TheHomeDepot,Inc.',34.64,0.35,1.02,'9/112:00am'],
['TheProcter&GambleCompany',61.91,0.01,0.02,'9/112:00am'],
['UnitedTechnologiesCorporation',63.26,0.55,0.88,'9/112:00am'],
['VerizonCommunications',35.57,0.39,1.11,'9/112:00am'],
['Wal-MartStores,Inc.',45.45,0.73,1.63,'9/112:00am']
];
//"变化"字段的格式化输出
functionchange(val){
if(val>0){
return'<spanstyle="color:green;">'+val+'</span>';
}elseif(val<0){
return'<spanstyle="color:red;">'+val+'</span>';
}
returnval;
}
//"变化(%)"字段的格式化输出
functionpctChange(val){
if(val>0){
return'<spanstyle="color:green;">'+val+'%</span>';
}elseif(val<0){
return'<spanstyle="color:red;">'+val+'%</span>';
}
returnval;
}
//创建数据存储(类似c#中的dataset构架)
varstore=newExt.data.SimpleStore({
fields:[
{name:'company'},
{name:'price',type:'float'},
{name:'change',type:'float'},
{name:'pctChange',type:'float'},
{name:'lastChange',type:'date',dateFormat:'n/jh:ia'}
]
});
store.loadData(myData);//加载数据
//创建数据表格
vargrid=newExt.grid.GridPanel({
store:store,
columns:[
{id:'company',header:"公司名",width:160,sortable:true,dataIndex:'company'},
{header:"价格",width:75,sortable:true,renderer:'usMoney',dataIndex:'price'},