2010-11-30 13 views
0

On charge 10 lignes de données statiques dans notre jqGrid en créant une chaîne JSON:La meilleure façon de charger jqGrid avec des données statiques?

var d = "{\"page\":1,\"records\":10,\"total\":1,\"rows\":[" + 
       "{\"id\":\"1\",\"cell\":[\"\"]}," + 
       "{\"id\":\"2\",\"cell\":[\"\"]}," + 
       "{\"id\":\"3\",\"cell\":[\"\"]}," + 
       "{\"id\":\"4\",\"cell\":[\"\"]}," + 
       "{\"id\":\"5\",\"cell\":[\"\"]}," + 
       "{\"id\":\"6\",\"cell\":[\"\"]}," + 
       "{\"id\":\"7\",\"cell\":[\"\"]}," + 
       "{\"id\":\"8\",\"cell\":[\"\"]}," + 
       "{\"id\":\"9\",\"cell\":[\"\"]}," + 
       "{\"id\":\"10\",\"cell\":[\"\"]}" + 
      "]}"; 

Et chargement qui dans une grille avec datatype:jsonstring et datastr:d où notre réseau est composé de 15 colonnes et chaque colonne est créée en utilisant une mise en forme personnalisée .

Y a-t-il une meilleure façon de procéder?

Répondre

1

Correspondent aux documentation (voir description du paramètre data)

Il peut remplacer la méthode addRowData qui est lent sur des données relatives

grandes

Je ne fait aucune mesure moi-même, mais l'utilisation du paramètre data me semble aussi comme l'un des moyens les plus efficaces. Il est important combien de lignes de données vous souhaitez ajouter. Le paramètre datastr utilisé avec datatype:jsonstring est relativement ancien existant avant d'introduire dans la version 3.7 la pagination locale des données. En respectant le paramètre data, vous pouvez ajouter grand ensemble de données pures, le trier et afficher la première page des données. Le remplissage de la première page avec les données du paramètre data sera fait en respectant la fonction addJSONData afin que la partie travail soit la même dans tous les cas. Seul le remplissage des données dont la taille est plus grande que la taille de la page rend le chemin avec le paramètre data plus efficace.

Si vous utilisez le paramètre data, n'oubliez pas de définir la propriété id supplémentaire dans la matrice de données. Il peut s'agir de la propriété avec le nom id par défaut ou un autre nom défini dans localReader. Si vous avez défini key:true pour une colonne de jqGrid, l'inclusion de la propriété id supplémentaire n'est pas nécessaire.

1

réponse est: oui

Comment? Rendez une table régulière, puis utilisez le plugin de Jqgrid appelé "grid.tbltogrid.js". Très utile et simple. En interne, il utilise la méthode "addRowData" du jqgrid, mais pourquoi vous devez répéter le code écrit, non? ;)