Ext.grid.GridPanel的MVC体现

 

ExtJs面向对象的特性,用于J2EE框架的UI层,我们常常将之归于界面展示层。

其实ExtJs的Ext.grid.GridPanel也是个MVC框架,它由四个必要的组成部分:
Store: The Model holding the data records (rows)  new Ext.data.Store 
Column model : Column makeup     new Ext.grid.ColumnModel
View : Encapsulates the user interface    viewConfig
selection model : Selection behavior    new Ext.grid.RowSelectionModel

 

var grid = new Ext.grid.GridPanel({
     store: new Ext.data.Store({
         autoDestroy: true,
         reader: reader,
         data: xg.dummyData
     }),
     colModel: new Ext.grid.ColumnModel({
         defaults: {
             width: 120,
             sortable: true
         },
         columns: [
             {id: 'company', header: 'Company', width: 200, sortable: true, dataIndex: 'company'},
             {header: 'Price', renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
             {header: 'Change', dataIndex: 'change'},
             {header: '% Change', dataIndex: 'pctChange'},
             // instead of specifying renderer: Ext.util.Format.dateRenderer('m/d/Y') use xtype
             {
                 header: 'Last Updated', width: 135, dataIndex: 'lastChange',
                 xtype: 'datecolumn', format: 'M d, Y'
             }
         ]
     }),
     viewConfig: {
         forceFit: true,

  //Return CSS class to apply to rows depending upon data values
         getRowClass: function(record, index) {
             var c = record.get('change');
             if (c < 0) {
                 return 'price-fall';
             } else if (c > 0) {
                 return 'price-rise';
             }
         }
     },
     sm: new Ext.grid.RowSelectionModel({singleSelect:true}),
     width: 600,
     height: 300,
     frame: true,
     title: 'Framed with Row Selection and Horizontal Scrolling',
     iconCls: 'icon-grid'
});

 


 

http://hi.baidu.com/jsjok/blog/item/8f12611b3b0d685f42a9ad4b.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值