Forum
19:23
19/02/2010
Hi there
I tried to load a SOLR json result in jqGrid, but unfortunately the SOLR result (I have no control of) does not contain page and total, so I needed a way to calculate the value from the "start" and "numFound" fields incorporated in the SOLR result.
To make this work, I needed to add
in the getAccessor() function (around line 453 in the grid.base.js source). Now I can write
jsonReader: {
root: "response.docs",
records: "response.numFound",
total: function(data){
return Math.ceil( data.response.numFound /
data.response.docs.length )
},
page: function(data){
return Math.floor( data.response.start /
desc.rowNum )+1
},
id: "id",
repeatitems: false
}
to calculate the needed values. Maybe this is useful to others here, so I thought to just post it.
The whole getAccessor definition in grid.base.js now looks like this:
var ret,p,prm;
if( typeof expr === 'function') return expr(obj); // this line is new – nothing else
ret = obj[expr];
if(ret===undefined) {
if ( typeof expr === 'string' ) {
prm = expr.split('.');
}
try {
if(prm.length) {
ret = obj;
while (ret && prm.length) {
p = prm.shift();
ret = ret[p];
}
}
} catch (e) {}
}
return ret;
}
Best regards
Mathias
11:23
Moderators
30/10/2007
Hello Mathias,
Good catch. Will be done.
Thanks
Best Regards
For professional UI suites for Java Script and PHP visit us at our commercial products site - guriddo.net - by the very same guys that created jqGrid.
Most Users Ever Online: 715
Currently Online:
92 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
OlegK: 1255
markw65: 179
kobruleht: 144
phicarre: 132
YamilBracho: 124
Renso: 118
Member Stats:
Guest Posters: 447
Members: 11373
Moderators: 2
Admins: 1
Forum Stats:
Groups: 1
Forums: 8
Topics: 10592
Posts: 31289
Newest Members:
, razia, Prankie, psky, praveen neelam, greg.valainis@pa-tech.comModerators: tony: 7721, Rumen[Trirand]: 81
Administrators: admin: 66