recorrer una pagina de un grid
hola, tengo un grid donde cargo una cantidad determinada de datos de empleados, tras hacer clic en un botón para ver los detalles me muestra una ventana con los detalles del empleado seleccionado, hasta ahí todo bien, en la ventana tengo 2 botones, uno para ir hacia adelante y otro para retroceder mostrando la información de otro empleado, he logrado hacerlo pero no con la información del siguiente empleado que me muestra la grilla sino del store y quiero hacerlo según me muestra la grilla. como podrán ver en las pantallas adjuntas tras hacer clic en siguiente no salto al siguiente empleado sino al que tiene el siguiente id_interno, obviamente esto es así por que es la única manera que se me ocurrió hacerlo:
moverse: function(btn) {
if (btn.iconCls === 'siguiente'){
id_empleado = intval(this.id_interno.getValue())+1;
this.btn_anterior.setDisabled(false);
} else {
id_empleado = intval(this.id_interno.getValue())-1;
this.btn_siguiente.setDisabled(false);
}
this.form.load({
params: {
id: id_empleado,
operacion: 'editar',
suboperacion: 'detalle'
},
failure: function(form, action) {
btn.setDisabled(true);
}
});
}
alguna idea?
Yo lo que haría es crear una variable "indice" que me indique el record que se esta mostrando actualmente, ese indice lo inicializaria cuando se muestra la primera vez el detalle del empleado, luego simplemente lo incremento o decremento.
if (btn.iconCls === 'siguiente'){
this.index++;
} else {
this.index--;
}
var record = grid.getStore().getAt(this.index);
var id_empleado = record.get("id_interno"); //asumiendo que puedes sacar el id del empleado del record
Solo faltaría hacer las validaciones de limites, para que cuando llegue al final del store no sucedan errores.
Saludos
¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook
Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.