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
Post a Comment