/**
* Page Size Plugin for Paging Toolbar
*
* @author wjc
*/
Ext.ux.PageSizePlugin = Ext.extend(Ext.form.ComboBox, {
store: new Ext.data.SimpleStore({
fields: ['text', 'value'],
data: [['5', 5], ['10', 10], ['15', 15], ['20', 20], ['25', 25], ['50', 50], ['100', 100]]
}),
mode: 'local',
displayField: 'text',
valueField: 'value',
allowBlank: false,
triggerAction: 'all',
width: 50,
maskRe: /[0-9]/ ,
beforeText:'显示',
afterText:'条/页',
init: function(paging) {
paging.on('render', this.onInitView, this);
},
onInitView: function(paging) {
paging.insert(paging.items.length-2,'-', this.beforeText, this, this.afterText);
function GetCookie(cookieName){
var cookies = document.cookie;
var cStartIndex = -1, cEndIndex = -1;
cookieName = cookieName + "=";
cStartIndex = cookies.indexOf(cookieName);
if(cookies.length && (-1 != cStartIndex))
{
cEndIndex = cookies.indexOf(";", cStartIndex + cookieName.length)
if(-1 == cEndIndex)
{
cEndIndex = cookies.length;
}
return cookies.substring(cStartIndex + cookieName.length, cEndIndex);
}
return null;
};
var pageSize = GetCookie("PageSizePlugin_pageSize");
if (pageSize!=null && pageSize!=""){
this.setValue(pageSize);
}else{
this.setValue(paging.pageSize);
}
this.on('select', this.onPageSizeChanged, paging);
this.on('specialkey', function(combo, e) {
if(13 === e.getKey()) {
this.onPageSizeChanged.call(paging, this);
}
});
},
onPageSizeChanged: function(combo) {
function SetCookie(cookieName, value){
cookieValue=value;
var date = new Date();
date.setTime (date.getTime() + 3600000000); //设置过期时间
document.cookie = cookieName + "=" + cookieValue + ";expires=" + date.toGMTString()+";path=/"; //设置cookie值
};
this.pageSize = parseInt(combo.getRawValue(), 10);
SetCookie("PageSizePlugin_pageSize",this.pageSize);
this.doLoad(0);
}
});
PagingToolbar PageSizePlugin
最新推荐文章于 2018-12-12 18:06:00 发布