PDA

View Full Version : grid does not reload after clicking back button (chrome)



zamkinos
16 Apr 2010, 9:00 AM
hi,
i've a grid and it works well in firefox and ie but not in chrome. there are links every rows of grid. when i click a link and then click browser's back button, grid is reloading in firefox and ie. but in chrome, it's not reloading.
did anybody also get this error?
regards.

zamkinos
16 Apr 2010, 11:15 PM
here is my .js and json files.

paging.js


/*!
* Ext JS Library 3.1.1
* Copyright(c) 2006-2010 Ext JS, LLC
* [email protected]
* http://www.extjs.com/license
*/
Ext.onReady(function () {

// create the Data Store
var store = new Ext.data.JsonStore({
root: 'kayitlar',
totalProperty: 'toplamKayit',
idProperty: 'pId',
remoteSort: true,
fields: [
'sira',
'islem',
'pId'
],
proxy: new Ext.data.HttpProxy({
url: '../servlet/JsonKaynagi'
})
});

store.on('beforeload', function() {
store.baseParams = {
pSinif: 'com.javaWEB.json.JsonIslemleri',
pMetot:'jsonLogDondur'
};
});

store.setDefaultSort('sira', 'asc');
// trigger the data store load
store.load({
params: {
start: 0,
limit: 2
,pSinif: 'com.javaWEB.json.JsonIslemleri'
,pMetot:'jsonDondurTest'
}
});

// pluggable renders
function renderTopic(value, p, r)
{
return String.format('{0}<br /><span style="font-weight:bold;">[{1}]</span>', value, r.data['pId']);
}

var grid = new Ext.grid.GridPanel({
// width:700,
height: 500,
layout: 'fit',
store: store,
trackMouseOver: true,
disableSelection: true,
loadMask: true,
id: 'gridKayitlar',
// grid columns
columns: [
{
id: 'sira',
header: "SIRA",
dataIndex: 'sira',
width: 40,
sortable: false
},
{
id: 'islem',
header: "ISLEM",
dataIndex: 'islem',
renderer: renderTopic,
width: 340,
sortable: false
}],
view: new Ext.grid.GridView({
forceFit: true
//autoFill: true

}),
// paging bar on the bottom
bbar: new Ext.PagingToolbar({
pageSize: 2,
store: store,
displayInfo: true,
displayMsg: 'Gosterilen kayit {0}-{1} Toplam:{2}',
emptyMsg: "Gosterecek kayit yok."
})
});

// render it
// grid.render('topic-grid');
var _viewport = new Ext.Viewport({
layout: 'fit',
items: grid,
renderTo: Ext.getBody()
});

});
returning json;

{
"kayitlar":[
{
"sira":"1",
"islem":"<a title=\"First Link...\" href=\"firstpage.jsp?\">Click First</a>&nbsp;|&nbsp;<a title=\"Second Link...\" href=\"secondpage.jsp?\">Click Second</a>",
"pId":"0"
},
{
"sira":"2",
"islem":"<a title=\"First Link...\" href=\"firstpage.jsp?\">Click First</a>&nbsp;|&nbsp;<a title=\"Second Link...\" href=\"secondpage.jsp?\">Click Second</a>",
"pId":"1"
}
],
"toplamKayit":"40"
}i've opened chrome developer tools.
when i clicked back button from firstpage.jsp, "Ext.onready" and "store.load" are triggering, but "renderTopic" is not.

edit:
i've discovered that if jsp page(grid in it) runs alone, there is no problem in all browsers, but if the page is called from another page(with form submit) error occurs in chrome.
i have i page with form in it and it's posting the form to this page which grid in it.

edit:
i've added below.

listeners: {
load: function(store, records, options) {
//alert(records.length + ' records loaded');
},
exception: function (){
alert(arguments);
},
loadexception: function(){
alert(arguments);
}
}i'm getting loadexception in chrome.

arguments[0].conn.url : null;
arguments[2].statusText: "communication failure"

any help?
regards


edit:
after trying lots of probabilities i could not solve, but when i downloaded latest version of google chrome, problem solved.