J'ai un JQGrid qui a déjà été initialisé. Comment puis-je ajouter un gestionnaire d'événements? J'ai essayéComment ajouter par programme un gestionnaire d'événements sur un JQGrid?
grid.setGridParam({
onSelectRow: function(rowid, status) {
alert("onSelectRow");
}
});
mais cela ne fait rien (pas d'erreur, mais pas d'alerte sur sélectionner non plus).
Mise à jour
Transforme le code ci-dessus fonctionne réellement bien - même si comme le souligne @jitter la nouvelle syntaxe de l'API est préférée. Mon problème était que grid
faisait référence au mauvais objet. Pour une raison quelconque dans le gestionnaire d'événements gridComplete, $(this)
ne renvoie pas une référence à la grille, mais $("#" + this.id)
fait.
// handles the gridComplete event
gridInitialized = function() {
var grid = $("#" + this.id);
grid.jqGrid("setGridParam", { onSelectRow: selectRow });
};
Un commentaire à ma réponse? Ne fait-il pas ce que tu veux? – jitter
Une réflexion sur pourquoi '$ (this)' et '$ (" # "+ this.id)' sont différents? Existe-t-il une meilleure façon "standard" d'obtenir une référence à la grille dans l'événement 'gridComplete'? –