column skewing
by Johan Vandeplas
HTML
<script src="https://cdn.sencha.com/ext/gpl/4.2.1/ext-all-dev.js"></script>
<link rel="stylesheet" href="https://cdn.sencha.com/ext/gpl/4.2.1/resources/css/ext-all.css">
JavaScript
var itemsPerPage = 2; // set the number of items you want per page
var store = Ext.create('Ext.data.Store', {
storeId:'simpsonsStore',
fields:['name', 'email', 'phone'],
data:{'items':[
{ 'name': 'Lisa', "email":"[email protected]", "phone":"555-111-1224" },
{ 'name': 'Bart', "email":"[email protected]", "phone":"555-222-1234" },
{ 'name': 'Homer', "email":"[email protected]", "phone":"555-222-1244" },
{ 'name': 'Marge', "email":"[email protected]", "phone":"555-222-1254" }
]},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
// specify segment of data you want to load using params
store.load({
params:{
start:0,
limit: itemsPerPage
}
});
var grid = Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
enableLocking: true,
store: store,
columns: [
{ header: 'Name', dataIndex: 'name', locked: true},
{ header: 'Email', dataIndex: 'email', locked: true },
{ header: 'Phone', dataIndex: 'phone', locked: true },
{ header: 'Name', dataIndex: 'name', locked: true },
{ header: 'Email', dataIndex: 'email'},
{ header: 'Phone', dataIndex: 'phone' },
{ header: 'Name', dataIndex: 'name' },
{ header: 'Email', dataIndex: 'email' },
{ header: 'Phone', dataIndex: 'phone' }
],
width: 400,
height: 400,
dockedItems: [{
xtype: 'pagingtoolbar',
store: store, // same store GridPanel is using
dock: 'bottom',
displayInfo: true
}],
renderTo: Ext.getBody()
});