2011-01-19 4 views
5

J'ai un ensemble de données comme l'exemple suivant et je voudrais le charger dans la grille. Cependant, je ne suis pas sûr de savoir comment les données n'ont pas de nom.jqgrid charger les données du tableau

[[48803,"DSK1","","02200220","OPEN"],[48769,"APPR","","77733337","ENTERED"]] 

Répondre

4

Qu'est-ce que vous avez besoin est d'utiliser tout ce qui suit localReader

localReader: { 
    repeatitems: true, 
    cell: "", 
    id: 0 
} 

J'ai fait pour vous the demo qui montre en direct comment cela fonctionne.

MISE À JOUR: Comment j'ai pu découvrir la réalité n'est pas si bon que the documentation. L'utilisation de localReader pourrait vous aider à remplir la grille contiennent des données du paramètre data avec la structure personnalisée, mais d'autres parties de jqGrid: le tri local et la recherche ne fonctionnent pas correctement avec cette structure du paramètre data. Je l'interprète comme un bug. En tant que solution pragmatique, je vous recommande de convertir vos données personnalisées pour tableau d'objets nommés comme

[{id:48803,col2:"DSK1",col3:"",col4:"02200220",col5:"OPEN"}, 
{id:48769,col2:"APPR",col3:"",col4:"77733337",col5:"ENTERED"}] 

les noms correspondent aux noms de colonnes dans la colModel. Si vous utiliserez le paramètre data dans le formulaire, tout fonctionnera parfaitement dans jqGrid.

MISE À JOUR 2: Regardez la source de the fixed example et ce que je veux dire sera clair. Dans votre cas de conversion des données peut être sur le

var myNewData = []; 
for (var i=0,l=mydata.length; i<l; i++) { 
    var d = mydata[i]; 
    myNewData.push({id:d[0],col2:d[1],col3:d[2],col4:d[3],col5:d[4]}); 
} 

suivante La solution est pas si élégante comme avec localReader, mais il fonctionne sans aucune restriction.

+0

@CKeven: J'ai découvert quelques problèmes dans la solution d'origine et j'ai ajouté ma réponse avec un exemple de démo fixe supplémentaire. – Oleg

+0

merci beaucoup. –

+0

@CKeven: Bienvenue! – Oleg

2

Eh bien, je ne suis pas très familier avec jqGrid, mais vous pouvez simplement affecter vos données à un tableau associatif puis le charger.

Exemple ici:

http://jsfiddle.net/QWcrT/

Questions connexes