javascript – 有没有办法让jqGrid在添加新行时滚动到底部?

前端之家收集整理的这篇文章主要介绍了javascript – 有没有办法让jqGrid在添加新行时滚动到底部?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在页面上有一个jqGrid,用户可以单击按钮添加新行.如果页面上已有足够的行来填充网格的可见部分,则会添加新行并显示滚动条,但用户需要滚动才能看到新行.

有没有办法以编程方式执行此操作?

最佳答案
使用jqGrid API快速简便地执行此操作的方法是:

>调用editRow(将焦点设置到已编辑的行)
>然后立即调用restoreRow(因为你真的不想编辑行)

否则你应该能够使用jQuery的焦点函数将焦点设置到行,例如:jQuery(“#”row_id).focus() – 但我没有测试过这个方法,所以YMMV.

实际上焦点不会滚动网格的div.但是您可以使用以下代码来保证网格滚动,以便具有给定id的行是可见的:

function getGridRowHeight (targetGrid) {
    var height = null; // Default

    try{
        height = jQuery(targetGrid).find('tbody').find('tr:first').outerHeight();
    }
    catch(e){
     //catch and just suppress error
    }

    return height;
}

function scrollToRow (targetGrid,id) {
    var rowHeight = getGridRowHeight(targetGrid) || 23; // Default height
    var index = jQuery(targetGrid).getInd(id);
    jQuery(targetGrid).closest(".ui-jqgrid-bdiv").scrollTop(rowHeight * index);
}
原文链接:https://www.f2er.com/jquery/428484.html

猜你在找的jQuery相关文章