2010-03-19 6 views
2

J'utilise jqGrid dans ce scénario:données de mise à jour dans jqGrid

  1. La grille reçoit les données JSON de la première URL. Si l'URL renvoie le code JSON correct, la grille affiche ces données.

  2. Si l'URL renvoie des données incorrectes, il déclenche l'événement 'loadError' de la grille. Dans cet événement, je souhaite modifier l'URL de la grille vers une autre URL et obtenir les données JSON à partir de la nouvelle URL.

Voici mon code.

loadError: function(xhr, st, err) { 
$("#list").setGridParam({ url: '/new_url' }); 
     $("#list").trigger("reloadGrid"); 
} 

Mais cela ne fonctionne pas. Pourquoi?

+0

Pouvez-vous être plus précis? Que se passe-t-il lorsque ce code est exécuté? –

+0

est la fonction loadError effectivement appelée? –

+0

Oui, le corps de la fonction loadError est exécuté. J'ai essayé d'appeler .trigger ("reloadGrid") à partir d'un autre champ - cela fonctionne (nouvelle requête envoyée au serveur). Mais si j'appelle .trigger ("reloadGrid") de l'événement loadError - rien ne se passe. – griZZZly8

Répondre

1

Même si c'est une question vraiment ancienne si quelqu'un d'autre trébuche sur cette tentative d'appeler GridUnload en premier. Donc, votre code changerait à:

loadError: function(xhr, st, err) { 
    $("#list").jqGrid('GridUnload'); 
    $("#list").setGridParam({ url: '/new_url' }); 
     $("#list").trigger("reloadGrid"); 
} 
Questions connexes