0

在 jqgrid 中,当有 6 条记录时(分页 5)。因此,第一页有 5 条记录,第二页现在有 1 条记录,用户已删除第 6 条记录(从第 2 页开始)。然后,网格仍然保留在第 2 页上,并且第 2 页上不存在行,因为它已被删除。当第 1 页有 5 条记录而第 2 页没有记录时,它看起来并不好,但页面选择出现在第 2 页。

你能指导如何解决这个问题。我认为,它应该移到前一页(最后一页)。

另外,相关问题:当​​所有 6 条记录都被删除时。然后,网格仍然出现。对此,应该有一些标签消息出现,因为不存在记录。如何做到这一点?

4

1 回答 1

1

您可以使用在网格的当前页面上reccount提供数字或记录的选项。如果记录数为 0,您可以执行其他操作。例如,您可以使用附加选项触发(请参阅答案reloadGridpage

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);
}

如果您需要在网格正文中显示一些消息文本,您可以按照为答案创建的演示。该演示仅显示带有消息文本的 div,以防.reccount === 0

于 2014-09-24T07:19:26.480 回答