• Super User

    [Jquery] DataTables e funzione di Callback

    Salve a tutti,
    sto utilizzando il tool [url=http://datatables.net/]DataTables, in particolare la funzione di [url=http://datatables.net/release-datatables/examples/advanced_init/row_callback.html]fnRowCallBack.

    Funzionata tutto correttamente, ma prendendo in esame l'esempio presente:

    
    "fnRowCallback": function( nRow, aData, iDisplayIndex ) {
                /* Append the grade to the default row class name */
                if ( aData[4] == "A" )
                {
                    $('td:eq(4)', nRow).html( '<b>A</b>' );
                }
            },
    
    

    se volessi allegare un'altra function di Callback come posso fare?

    Non riesco a venirne a capo.

    Grazie.


  • Super User

    Usato la funziona sbagliata (come segnalato da un utente di un altro forum!)
    La fnRowCallback viene richiamata per ogni singola riga, mentre la fnDrawCallback viene richiamata a render ultimato.
    Quindi all'interno di questa ho potuto applicare la mia funzione, cioè:

    
    "fnDrawCallback": function (oSettings) {
              var customHeightTable = $(window).height() - (
                        $("header").outerHeight(true) +
                        $("#pageTitle").outerHeight(true) +
                        $(".report-filter").outerHeight(true) +
                        $("#alignmentTable_filter").outerHeight(true) +
                        $(".dataTables_scrollHead").outerHeight(true) +
                        $("#alignmentTable_info").outerHeight(true) +
                        $("#legend").outerHeight(true));
                    $(".dataTables_scrollBody").css("height", customHeightTable);
    
    

    e quindi permettere di avere un'altezza della tabella tale da riempirmi tutta la finestra del mio browser senza ulteriori scroll associati alla finestra stessa.

    Un'ultimo consiglio: siccome vorrei cercare di centralizzare questa funzione e poterla applicare anche ad altre pagine, come posso verificare se un DIV è presente in una pagina così da non generare un errore JS?

    Grazie.