Code:
Ext.create('Ext.data.Store', {
storeId: 'simpsonsStore',
fields: ['name', 'email', 'phone'],
data: {
'items': [
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Bart',
"email": "bart@simpsons.com",
"phone": "555-222-1234"},
{
'name': 'Homer',
"email": "home@simpsons.com",
"phone": "555-222-1244"},
{
'name': 'Lisa',
"email": "lisa@simpsons.com",
"phone": "555-111-1224"},
{
'name': 'Marge',
"email": "marge@simpsons.com",
"phone": "555-222-1254"}
]
},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
var myGrid = Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
autoScroll:true,
store: Ext.data.StoreManager.lookup('simpsonsStore'),
hideMode: 'offsets',
invalidateScrollerOnRefresh: false,
columns: [
{
header: 'Name',
dataIndex: 'name'},
{
header: 'Email',
dataIndex: 'email',
flex: 1},
{
header: 'Phone',
dataIndex: 'phone'}
]
});
Ext.create('Ext.Button', {
text: 'Button 1',
renderTo: Ext.getBody(),
handler: function() {
panel2.add(myGrid);
}
});
Ext.create('Ext.Button', {
text: 'Button 2',
renderTo: Ext.getBody(),
handler: function() {
panel1.add(myGrid);
}
});
var panel1 = new Ext.panel.Panel({
height:200,
width:400,
layout:'fit',
items:[myGrid]
});
var panel2 = new Ext.panel.Panel({
items:[],
height:200,
width:400,
border:true,
layout:'fit'
});
var myMainPanel = new Ext.panel.Panel({
height:200,
width:800,
layout:'hbox',
items:[panel1, panel2],
renderTo: Ext.getBody()
});