Forum

November 2nd, 2014
A A A
Avatar

Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

The forums are currently locked and only available for read only access
sp_Feed Topic RSS sp_TopicIcon
Client side page calculation
19/02/2010
19:23
Avatar
cylab
New Member
Members
Forum Posts: 1
Member Since:
19/02/2010
sp_UserOfflineSmall Offline

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

            if( typeof expr === 'function') return expr(obj);

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:

        getAccessor = function(obj, expr) {
            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

20/02/2010
11:23
Avatar
tony
Sofia, Bulgaria
Moderator
Members

Moderators
Forum Posts: 7721
Member Since:
30/10/2007
sp_UserOfflineSmall Offline

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.

25/08/2010
00:24
Avatar
gastaldi
New Member
Members
Forum Posts: 1
Member Since:
24/08/2010
sp_UserOfflineSmall Offline

Where did that "desc.rowNum" came from ?

Forum Timezone: Europe/Sofia

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.com

Moderators: tony: 7721, Rumen[Trirand]: 81

Administrators: admin: 66

Comments are closed.
Privacy Policy   Terms and Conditions   Contact Information