Ich habe viele Beiträge hier über die gleichen Probleme gelesen, aber keiner hat mir geholfen, dieses Problem zu lösen, das ich mit jqGrid bekommen habe. Ich verstehe nicht, was ich falsch mache ..jqGrid - Daten als JSON zurückgegeben, aber nicht gezeigt
Hier ist die durch meine PHP-Datei zurückgegebenen Daten (es intentionnally umgekehrt ist bestellt, weil ich es ab bin Sortierung):
{"rows":{"1":{"id":"2","cell":["2","Italie","8",""]},"0":{"id":"1","cell":["1","France","8",""]}},"page":"1","total":1,"records":2}
Hier ist das Ende die pHP-Datei, wo ich die Daten vor dem Echo eingestellt json_encode es:
// Préparation du tableau de retour
$tableauGroupes = array();
// Si nous avons obtenu des résultats
if (count($listeFiltree) > 0) {
foreach ($listeFiltree as $index => $groupe) {
// On récupère le tableau contenant toutes les traductions pour le nom du groupe
$tableauTraduction = (int)$groupe->getNomGroupe();
// On récupère le nombre de sousGroupes dans le tableau de sousGroupes
$nombreEnfants = count($groupe->getTableauCentreSousGroupe());
// Préparation des lignes à afficher
$tableauGroupes['rows'][$index]['id'] = $groupe->getGroupe();
$tableauGroupes['rows'][$index]['cell'] = array($groupe->getGroupe(), $tableauTraduction[$langue], (string)$nombreEnfants, "");
}
}
// Ajout des informations générales
$tableauGroupes['page'] = $page;
$tableauGroupes['total'] = ceil(count($tableauGroupes)/$limit);
$tableauGroupes['records'] = count($tableauGroupes["rows"]);
echo json_encode($tableauGroupes);
Hier ist die Initialisierung der jqGrid Tabelle (die nur gut verwendet werden, um Arbeit):
// Configuration du jqGrid des centres
$("#listeGroupes").jqGrid({
url: 'struct/<?=$rubrique?>/<?=$sous_rubrique?>/controleurs/tableauGroupes.php?sid=<? echo $sid;?>&sigle=<? echo $sigle;?>&langue=<? echo $langue;?>&nd='+new Date().getTime(), // Url de récupération des données
height: tailleListe, // Hauteur de la grille
ajaxGridOptions: {async: false}, // Surcharge des options ajax, lors des chargements de données
datatype: "json", // Type de données récupérées par la grille
colNames:["<?=THEAD_GROUPE?>","<?=THEAD_NOM_GROUPE?>","<?=THEAD_NB_SOUSGROUPE?>","<?=THEAD_ACTIONS?>"],
colModel:[ // Configuration des colonnes
{name:'groupe', index:'groupe', width:40, sortable:true, search:true},
{name:'nomGroupe', index:'nomGroupe', width:100, sortable:true, search:true},
{name:'nbSousGroupes', index:'nombreEnfants', width:40, sortable:true, search:true},
{name:'actions', index:'actions', width:65, sortable:false, editable: false, search:false}
],
rowNum:20, // Nombre de lignes par page
rowList: [10,20,30,50], // Nombre de lignes par page possibles
altclass:'odd', // Classe css des lignes alternantes (1/2)
altRows:true, // Alternance de lignes
pager: '#pagerlisteGroupes', // Identifiant du pager
sortname: 'groupe', // Colonne par laquelle on trie par défaut
sortorder: "asc", // Ordre de tri par défaut
viewrecords: true, // Affiche le nombre de résultats
autowidth: true, // Largeur automatique
imgpath: 'css/jqGrid/images', // Chemin d'accès aux images
pgbuttons: true, // Affiche les boutons du pager
pginput: true, // Affiche un champ de saisie dans le pager, pour rentrer un numéro de page
multiselect: true, // Permet de sélectionner simultanément plusieurs lignes
caption: "Liste des groupes", // Titre de la grille
//loadonce: true,
sortable: true,
ignoreCase:true,
loadComplete: function(){
alert("ici");
initGrilleGroupes();
},
onSelectRow: function(id, statut){
selectionnerGroupe(id);
}
})
// Ajout du pager
.navGrid('#pagerlisteGroupes',{add:false,edit:false,del:false, search: false, searchtitle: "<? echo utf8_encode(html_entity_decode(TITLE_BOUTON_SEARCH));?>", refresh: false, refreshtitle: "<? echo utf8_encode(html_entity_decode(TITLE_BOUTON_REFRESH));?>"}, {}, {}, {}, { closeAfterSearch: true, drag: true, closeOnEscape: true }, {})
// Ajout de la barre de filtrage
.filterToolbar({searchOnEnter: false})
// Ajout du bouton de création de centre
.navButtonAdd('#pagerlisteGroupes',{
caption: "", // Texte du bouton
title: "<?=TITLE_BOUTON_ADD_GROUPE;?>", // Titre tooltip du bouton
buttonicon: "ui-icon-plus", // Nom de l'icône du bouton
position: "first", // Position de l'icône dans le pager
onClickButton: function(){
clicAjouterGroupe();
}
});
Jede Hilfe/Vorschläge wäre willkommen;) Cheers