Bonjour,
Visiblement tu as déjà posté sur le forum de jqgrid où Tony a tenté de te donner une réponse... Je vais à mon tour essayer de t'aider.
La syntaxe qui déclenche le "next" et le "prev" est la suivante :
Next :
$("#nData", "#"+frmtb+"_2").trigger("click");
Prev :
$("#pData", "#"+frmtb+"_2").trigger("click");
En les associant aux évènements clavier (touche UP et Down) on pourrait écrire ceci:
1 2 3 4 5 6 7 8 9 10 11
| document.onkeydown = listenKey
function listenKey(e) {
e = e || window.event;
var keycode = e.which || e.keyCode;
if(keycode == 38) { // Touche du haut (prev)
$("#pData", "#"+frmtb+"_2").trigger("click");
}
if(keycode == 40) { // Touche du bas (next)
$("#nData", "#"+frmtb+"_2").trigger("click");
}
} |
Essaye donc d'ajouter ces quelques lignes à ton HTML.
Si cela ne fonctionne pas essaye d'insérer les fonctions qui réalise le "next" et le "prev"
Next :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| $("#nData", "#"+frmtb+"_2").click(function(e){
if(!checkUpdates()) return false;
$("#FormError","#"+frmtb).hide();
var npos = getCurrPos();
npos[0] = parseInt(npos[0]);
if(npos[0] != -1 && npos[1][npos[0]+1]) {
if($.isFunction(p.onclickPgButtons)) {
p.onclickPgButtons('next',$("#"+frmgr),npos[1][npos[0]]);
}
fillData(npos[1][npos[0]+1],$t,frmgr);
$($t).jqGrid("setSelection",npos[1][npos[0]+1]);
if($.isFunction(p.afterclickPgButtons)) {
p.afterclickPgButtons('next',$("#"+frmgr),npos[1][npos[0]+1]);
}
updateNav(npos[0]+1,npos[1].length-1);
};
return false;
}); |
Prev :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| $("#pData", "#"+frmtb+"_2").click(function(e){
if(!checkUpdates()) return false;
$("#FormError","#"+frmtb).hide();
var ppos = getCurrPos();
if(ppos[0] != -1 && ppos[1][ppos[0]-1]) {
if($.isFunction(p.onclickPgButtons)) {
p.onclickPgButtons('prev',$("#"+frmgr),ppos[1][ppos[0]]);
}
fillData(ppos[1][ppos[0]-1],$t,frmgr);
$($t).jqGrid("setSelection",ppos[1][ppos[0]-1]);
if($.isFunction(p.afterclickPgButtons)) {
p.afterclickPgButtons('prev',$("#"+frmgr),ppos[1][ppos[0]-1]);
}
updateNav(ppos[0]-1,ppos[1].length-1);
};
return false;
}); |
Attention à bien mettre tout ces codes javascript en fin de page juste avant la fermeture de la balise </body>
Je n'ai pas d'autres idées pour le moment, j'espère t'avoir apporter une réponse clair. Tiens moi informé car ça m'intéresse ... je suis à fond dans jqgrid en ce moment.
PS: Les solutions présentes dans ce post n'ont pas été testés
Partager