Slickgrid paging issue for search - page number is wrong when pagesize = search item count on second page -


if search on page greater 1 , if number of items returned search equal pagesize page not flip previous page , says wrong page number.

for example if have 5 items , page size set 4. if search on second page returns 4 items page won't flip page 1 , grid says page 2 of 1.

i same error if change example4 - http://mleibman.github.io/slickgrid/examples/example4-model.html

replace code -

  (var = 0; < 50000; i++) {      var d = (data[i] = {});     d["id"] = "id_" + i;     d["num"] = i;     d["title"] = "task " + i;     d["duration"] = "5 days";     d["percentcomplete"] = math.round(math.random() * 100);     d["start"] = "01/01/2009";     d["finish"] = "01/05/2009";     d["effortdriven"] = (i % 5 == 0);   } 

with -

  var x;    (var = 0; < 5; i++) {       var d = (data[i] = {});        if (i == 0)           x = "1";       if (i == 1)           x = "11";       if (i == 2)           x = "111";       if (i == 3)         x = "1111";       if (i == 4)           x = "2";      d["id"] = "id_" + i;     d["num"] = i;     d["title"] = "task " + x;     d["duration"] = "5 days";     d["percentcomplete"] = math.round(math.random() * 100);     d["start"] = "01/01/2009";     d["finish"] = "01/05/2009";     d["effortdriven"] = (i % 5 == 0);   } 

add line -

 dataview.setpagingoptions({pagesize: 4}); 

go page 2 , search task 1. should showing page 2 of 1.

i think rowcount not updated. have added on script?

dataview.onrowcountchanged.subscribe(function (e, args) {   grid.updaterowcount();   grid.render(); });  dataview.onrowschanged.subscribe(function (e, args) {   grid.invalidaterows(args.rows);   grid.render(); }); 

update: add code on slick.dataview.js. find around line 750

  var paged;   if (pagesize) {     if (filtereditems.length < pagenum * pagesize) {       pagenum = math.floor(filtereditems.length / pagesize);     }     //.. add code     // start     if (filtereditems.length == pagenum * pagesize && pagenum > 0)         pagenum --;     // end     paged = filtereditems.slice(pagesize * pagenum, pagesize * pagenum + pagesize);   } else {     paged = filtereditems;   } 

Comments