在jqgrid中,有6条记录(分页5)。 因此,第一页有5条记录,第二页现在有1条记录,用户删除了第6条记录(来自第2页)。 然后,网格仍然保留在页面#2上,并且第2页上没有行被删除。当第1页上的5条记录和第2页上没有记录时,它看起来不太好,页面选择出现在第2页。
请您指导如何解决这个问题。我认为,应该转移到前一页(最后一页)。
另外,相关问题: 当所有6条记录都被删除时。然后,网格仍然出现。 如果是这样,应该会出现一些标签消息,因为没有记录存在。 怎么做到这一点?
答案 0 :(得分:1)
您可以使用reccount
选项在网格的当前页面上提供数字或记录。如果记录数为0,则可以执行其他操作。例如,您可以使用其他reloadGrid
选项触发page
(请参阅the answer)
var $self = $(this), // or $("#gridId")
p = $self.jqGrid("getGridParam"), // get all parameters
newPage;
if (p.lastpage > 1) { // on the multipage grid
newPage = p.page; // the current page
if (p.reccount === 0 && p.page === p.lastpage) {
// if after deleting there are no rows on the current page
// which is the last page of the grid
newPage -= 1; // go to the previous page
}
// reload grid to show rows from the page with rows.
// depend on where you use the code fragment you could
// need reloading only in case
// p.reccount === 0 && p.page === p.lastpage
setTimeout(function () {
$self .trigger("reloadGrid", [{ page: newPage}]);
}, 50);
}
如果您需要在网格正文中显示一些消息文本,则可以关注为the demo创建的the answer。在reccount === 0
的情况下,演示只显示带有消息文本的div。