Hit*_*mer 5 javascript jquery jqgrid
我在页面上有一个jqGrid,用户可以单击按钮添加新行.如果页面上已有足够的行来填充网格的可见部分,则会添加新行并显示滚动条,但用户需要滚动才能看到新行.
有没有办法以编程方式执行此操作?
Jus*_*ier 11
使用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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8956 次 |
| 最近记录: |