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

    Aggiungere righe in modo asincrono a tabelle

    Salve a tutti,
    ho un po di problemi nel inserire in modo asincrono delle righe in una tabella.
    Ho la seguente funzione a cui passo un array contenente i dati da inserire per ogni riga e un array contenete l'id delle tabelle create in precedenza.
    Ad ogni tabella devo inserire le righe in base alle date dei punti.
    Fino ad ora richiamavo la funzione in modo sequenziale e mi aggiungeva anche centinaia di righe con il conseguente blocco temporaneo della visuale.
    Adesso vorrei renderla asincrona. Ho provato a cercare in reta ma ancora non mi è chiare come poter fare questo.
    Qualcuno può aiutarmi??

    Ringrazio in Anticipo per eventuali risposte.

    codice:
    //Chiamata alla funzione
    RiempiTabella(puntiDisegna, ArrayIdTabelle);
    
    //funzione 
    function RiempiTabella(punti, ArrayTabelle) {
        var DataConvertita;
        var j = 0;
    
    
        for (i = 0; i < punti.length; i++) {
    
            //richiamo funzione che mi converte la data
            DataConvertita = ConvertiData(punti[i].Data);
    
             //confronto le date
            if (DataConvertita.toDateString() == ArrayTabelle[j][3].toDateString()) {
                $('#' + ArrayTabelle[j][0]).dataTable().fnAddData([
                    punti[i].Data,
                    punti[i].nome,
                    punti[i].cognome,
                ]);
    
    
            } else {
    
    
                j += 1;
    
    
                $('#' + ArrayTabelle[j][0]).dataTable().fnAddData([
                    punti[i].Data,
                    punti[i].nome,
                    punti[i].cognome,
    
                ]);
            }
    
    
        }
    }

  2. #2
    Nessuno può aiutarmi?

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Nessuno risponde perché non si capisce cosa vuoi fare, ora tu crei le righe tramite funzione lato client che non può essere sincrona/asincrona mentre è una prerogativa lato server usando ajax ma se devi usare ajax devi cambaire tutta la logica
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Ciao,
    in pratica voglio riempire le tabelle però senza bloccare l'interfaccia grafica che nello stesso momento sta usando l'utente.
    Posto un esempiio trovato in rete: http://jsfiddle.net/VZSAw/6/. Nell'esempio viene avviata un'operazione molto pesante che viene eseguita in background però nello stesso momento io posso muovere il quadrato rosso.
    Cercando in rete ho anche trovato un metodo di jquery ($.deferred) che potrebbe aiutarmi ma non ho idea di come usarlo.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Adesso sono riempire le tabelle non più aggiungere righe?
    Continuo a non capirti (e l'esempio non mi aiuta) non so come aiutarti
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Cerco di spiegarmi meglio: nel primo esempio postato passo alla funzione "RiempiTabella" un array "puntiDisegna" contenente tutti i dati, ordinati per Data, che inserirò sotto forma di righe in tabelle diverse e un'array "ArrayTabelle" contente gli id delle tabelle in cui inserirò i dati.
    Nel ciclo controllo la Data di ogni riga dell'array e decido a quale tabella aggiungere i dati ad essa collegati.
    Il mio problema è che l'array "puntiDisegna" può arrivare a contenere migliaia di righe, e per questo il ciclo su migliaia di righe mi blocca per un periodo abbastanza lungo la parte grafica. Io vorrei che la parte grafica continui ad essere usabile,fluida per consentire all'utente di continuare ad utilizzarla e nello stesso momento il ciclo sull'array con la conseguente aggiunta delle righe alle tabelle continui.
    Sono riuscito a spiegare il mio problema?
    Grazie in anticipo

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che non conosco ne ho mai usato lo script postato, dubito che i cicli che costruiscano lato client le miglia di righe possano essere resi asincroni (che lavorino senza impegnare il browser) credo che dovrai passare ad Ajax e far fare le righe e il popolamento delle stesse al server.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Ecco un esempio che potrebbe aiutare a capire: http://dl.dropboxusercontent.com/u/4...red/index.html
    Questo è proprio quello che voglio, solo che ho difficoltà ad adattarlo alla mia esigenza.

    Saluti

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che non funziona con IE8, se non riesci tu (che hai un quandro dell'operazione) ad adattarlo dubito che qualcuno possa riuscirci al posto tuo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Tag per questa discussione

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.