JavaScript/ExtJS

[ExtJS] Ext.PagingToolbar 커스터마이징 팁!!

자수씨 2010. 2. 11. 00:49


ExtJS 에서 Ext.PagingToolbar 를 이용하게 되면 위와 같이 똘똘한 페이징 툴바를 사용할 수 있습니다.

하지만... 별도로 파라미터를 이용한다면... 약간의 커스터마이징이 필요합니다.

new Ext.PagingToolbar({

           pageSize: 20,

           prependButtons: true,

           store: new Ext.data.JsonStore({

                     root: 'rows',

                     totalProperty: 'totalCount',

                     idProperty: 'table',

                     remoteSort: true,

                     fields: [ ... ],

                     proxy: new Ext.data.HttpProxy({

                         url: '~~~'

                     })

           },

           ...,

           doLoad: function(start) {

                     var o = this.store.lastOptions.params;

                     var pn = this.getParams();

                     o[pn.start] = start;

                     o[pn.limit] = this.pageSize;

                     if (this.fireEvent('beforechange', this, o) !== false) {

                                this.store.load({

                                          params: o

                                });

                     }

           }

});




doLoad() 함수를 오버라이딩 하고, store 의 가장 마지막 파라미터를 이용하였습니다.
(기존의  doLoad() 함수에 파라미터만 얹은 격이죠)

위와 같이 하면 기존의 파라미터에 시작 번호와 리미트만 바뀌기 때문에 원하는 결과를 얻을 수 있습니다.