javascript - How a grid works when passed to the next page? -


assuming have 500 rows of data , within grid showing 40 rows per page. been thinking how grid works 500 rows display next page data correspond.?

i have 2 options .... 1 first make single queryto bd, , keep 500 rows in memory , work there , cut each time pass page.

2nd second, run query database, cut show necessary rows , display. , every time pass page make new query, bringing 500 , go cutting data , showing needed.

so question ideal operation should have grid handle data? making best use in performance.

if try take @ more general case, there n rows in dataset , need show m on page, clear n big enough, in cases, not make sense load data in memory ( might in order warm cache etc )

so loading 1 page @ time database, passing pagenumber , pagesize parameters query.

also might use client side caching , save old page when navigating new one. having localstorage, websql etc in browser makes easy.

 function getnewpage(pagenumber, pagesize) {       var cachekey = pagenumber + '_' + pagesize        if (mycache.contain(cachekey)) {           return $.deferred().resolve(mycache.get(cachekey))       }        return $.ajax( url , { pagesize:pagesize, pagenumber: pagenumber }, function (data) {            mycache.set(cachekey, data)            return data       } )  }    var mycache = {      contain: function(key) {        return !!sessionstorage.getitem(key)     },     get: function(key) {        return json.parse(sessionstorage.getitem(key)     },     set: function(key, o) {        sessionstorage.setitem(key, json.stringify(o))      }   }  

and somewhere in button click handler:

 getnewpage(0,10).done(function(data) {      var template = _.template('<tr><td>{field1}</td><td>{field2}</td></tr>')      $mytabletbody.html(data.map(template))  }) 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -