gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 05:56:24 25 4
gpt4 key购买 nike

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

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

最佳答案

使用 jqGrid API 执行此操作的一种快速简便的方法是:

  • 调用 editRow(这会将焦点设置到已编辑的行)
  • 然后立即调用restoreRow(因为您真的不想编辑该行)

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

实际上 focus 不会滚动网格的 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);
}

关于javascript - 添加新行时,有没有办法让 jqGrid 滚动到底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com