Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [jqGrid] AIUTO!! tabella dinamica + json

    Ciao a tutti, ho un prolema riguardo le tabelle realizzate con jqgrid; la tabella viene visualizzata, però non capisco come riempirla tramite un file json.
    Se qualcuno di ha già usato tali tabella (ormai "famose" credo), di sicuro saprà aiutarmi.
    Ho letto la documentazione, ma mi deve essere sfuggito qualcosa.
    Il mio scopo è questo: la tabella richiama un file php (si può fare specificando l'url di tale file nel campo URL dello script che genera la tabella jqgrid); tale file php risponde spedendo tramite ECHO una stringa che compone il json;
    tale file json è leggermente diverso da quelli che ho trovato nei vari esempi in rete, poichè non è composto da elementi array indicati con [ ] , ma è composto da sole { } ; io non so bene qual'è la differenza, fatto sta che DEVO usare il file json cos' come è, non posso cambiarlo;sono comunque sicuro che si possa usare così com'è fatto.
    Prima di scrivere qui, ho provato comunque a trasformare il mio file json in elementi array,ma non funziona lo stesso. di seguito vi riporto

    CODICE html:

    dopo aver incluso le varie librerie e file css..

    ...
    <script type="text/javascript" src="tabella.js"></script>

    </head>

    <body>
    <table id="tabella"> </table>
    </body>


    codice di manda.php:

    <?php


    $stringa= '{
    "negozi":{

    "num1":{
    "name": "Panificio",
    "address": "Via Farini",
    "num": "92838390"
    },

    "num2":{
    "name": "Frutta",
    "address": "Piazza ciao",
    "num": "4434886"
    }
    }
    }';

    echo $stringa;

    ?>



    CODICE javascript:


    $(document).ready(function() {
    $("#tabella").jqGrid({ url:"../server/manda.php",
    datatype: "jsonstring",
    colNames:["Nome","Indirizzo", "Telefono"],
    colModel:[ {name:'name',index:'name', width:100},
    {name:'address',index:'address', width:120},
    {name:'tel',index:'tel', width:100}
    ],
    jsonReader : {
    root: "negozi",// describes where our data begins
    cell: "", // the array which contains the data for the row
    id: "0", // descibes the unique id for the row

    }
    });
    });





    i commenti in verde gli ho riportati dalla documentazione ufficiale;
    quello che non riesco a capire è:
    1) sono sufficienti/o di troppo/o impostati male i campi ROOT,CELL,ID
    2) come faccio a far capire COME riempire le colonne della tabella?? da colModel? a cosa servono i campi NAME e INDEX negli elementi di colModel? io speravo che INDEX servisse per capire quel cmapo del file json andare a leggere, per questo ho scelto NAME ADDRESS e TEL, che sono i campi di ogni elemento json in arrivo..

    vi ringrazio tantissimo in anticipo

  2. #2
    Ovviamente sarebbe gradito anche un link ad un esempio di jqgrid+json concreto..magari NON link rigurado la documentazione ufficiale,che come ho detto, ho già letto,ma purtroppo non ho capito molto bene

  3. #3
    Spero che qualcuno riesca ad aiutarmi, ho chiesto anche sul forum ufficiale di jqgrid ma nessuno risponde..anche solo per dirmi che magari non c'è modo...mi è venuto il dubbio, in quanto sulla documentazione ufficiale dicono che il file json deve contenere dei campi iniziali che servono al jsonreader..però mi sembra un pò assurdo che permettano di usare json,ma solo strutturato in un certo modo..

  4. #4
    proprio nessuno ha qualche idea?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    da quanto letto il plugin supporta esclusivamente un jsonarray cioè un oggetto json che contenga al suo interno un array che verrà utilizzato per "riempire" la tabella... quindi devi convertire il tuo json in un jsonarray, puoi farlo sia lato server che lato client con js

  6. #6
    ti ringrazio molto per la risposta

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.