Je crée un JQGrid à partir d'une table de base de données qui ne contient pas une seule clé primaire de champ. Par conséquent, le champ que je fournis en tant qu'ID n'est pas unique et le même champ existe en plusieurs lignes. Pour cette raison, lors de la transmission d'une référence aux données avec ondblClickRow à une fonction externe à la grille, j'ai besoin d'utiliser le numéro de référence et non l'identifiant.JQgrid - Récupère le numéro de ligne au lieu de l'ID
Pour tester, j'utilise ondblClickRow: function(id){alert($("#grid1").getInd('rowid'));},
, et je devrais obtenir et alerte avec le numéro de ligne, sauf que cela ne fonctionne pas.
Je suis sur la documentation et ne peut pas comprendre ce que je fais mal ...
Toute aide serait grandement appréciée! Merci d'avance, Mario.
Bellow est ma grille complète:
jQuery(document).ready(function(){
var mygrid = jQuery("#grid1").jqGrid({
datatype: 'xmlstring',
datastr : grid1RsXML,
width: 1024,
height: 500,
colNames:['DEVICE_ID','JOB_SIZE_IN_BYTES', 'USER_NAME','HOST_NAME','DAY_OF_WEEK','JOB_ID'],
colModel:[
{name:'DEVICE_ID',index:'DEVICE_ID', width:55, sortable:true},
{name:'JOB_SIZE_IN_BYTES',index:'JOB_SIZE_IN_BYTES', width:40, sortable:true},
{name:'USER_NAME',index:'USER_NAME', width:60, sortable:true},
{name:'HOST_NAME',index:'HOST_NAME', width:50,align:"right", sortable:true},
{name:'DAY_OF_WEEK',index:'DAY_OF_WEEK', width:10, sortable:true},
{name:'JOB_ID',index:'JOB_ID', width:30, sortable:true}
],
rowNum:1000,
autowidth: true,
//rowList:[10,20,30],
rowList:[1],
pager: '#grid1Pager',
sortname: 'DEVICE_ID',
viewrecords: true,
rownumbers: true,
sortorder: "desc",
sortable: true,
gridview : true,
xmlReader: { root : "recordset", row: "record", repeatitems: false, id: "DEVICE_ID" },
caption:"All Jobs - Double Click for detailed history",
ondblClickRow: function(id){alert($("#grid1").getInd('rowid'));},
toolbar: [true,"top"],
url: grid1RsXML
});
+1 - Juste curieux, cela ne devrait pas avoir d'importance pour cette question particulière, mais que se passe-t-il? ens à iRow lorsque la grille est triée? Vraisemblablement, cela changerait pour correspondre au nouvel ordre des lignes? –
Oui, ce serait le cas. Plutôt que de faire des choses basées sur la ligne, je ferais descendre la clé composite dans des colonnes cachées afin qu'elles puissent être utilisées pour les requêtes suivantes. –