Una forma rápida y fácil de hacer esto mediante la API jqGrid es:
- llamada
editRow
(que establecer el foco en la fila editado)
- Y a continuación, llamar inmediatamente
restoreRow
(porque no lo hace realmente quiere editar la fila)
lo contrario, debe ser capaz de utilizar la función de jQuery focus
para ajustar el enfoque de la fila, por ejemplo: jQuery("#" + row_id).focus()
- pero no tengo t probado este método, por lo que YMMV.
En realidad focus
no se desplazará por la div de la grilla. Sin embargo, se puede utilizar el siguiente código para garantizar que los rollos de la red de tal manera que la fila con un determinado id
es visible:
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);
}
En realidad, sí quiero editar la fila, así que simplemente lo dejo en modo edición; ¡funciona como un amuleto! – HitLikeAHammer
Gracias Justin! la única modificación que debo hacer es .scrollTop ((rowHeight * index) -rowHeight) para hacer visible la fila de destino. Saludos. – nerdcoder