filtre à la colonne ne fonctionne pas avec regroupement de lignes

voix
8

Quand je jQuery DataTables intégrer filtre à colonne et regroupement de lignes , filtre jQuery colonne DataTables ne fonctionne pas.

J'ai essayé la démo , mais il semble dans le filtre de la colonne de démonstration ne fonctionne pas non plus .

Créé 24/09/2015 à 04:40
utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

SOLUTION

Plug-ins Regroupement ligne avec la colonne de filtrage ne sont plus en cours d' élaboration, je ne recommanderais pas de les utiliser. Utilisez les options de DataTables et méthodes de l' API pour effectuer le regroupement de la ligne et la recherche individuelle de colonne comme indiqué dans la ligne groupant par exemple et la colonne individuelle de recherche par exemple .

// Setup - add a text input to each footer cell
$('#example tfoot th').each( function () {
    var title = $('#example thead th').eq( $(this).index() ).text();
    $(this).html( '<input type="text" placeholder="Search '+title+'" />' );
} );

// DataTable
var table = $('#example').DataTable({
    "order": [[2, 'asc']],
    "drawCallback": function (settings){
        var api = this.api();

        // Zero-based index of the column for row grouping
        var col_name = 2;

        // If ordered by column containing names
        if (api.order()[0][0] === col_name) {
            var rows = api.rows({ page: 'current' }).nodes();
            var group_last = null;

            api.column(col_name, { page: 'current' }).data().each(function (name, index){
                var group = name;

                if (group_last !== group) {
                    $(rows).eq(index).before(
                        '<tr class="group"><td colspan="6">' + group + '</td></tr>'
                    );

                    group_last = group;
                }
            });
        }
    }
});

// Apply the search
table.columns().every( function () {
    var that = this;

    $( 'input', this.footer() ).on( 'keyup change', function () {
        if ( that.search() !== this.value ) {
            that
                .search( this.value )
                .draw();
        }
    } );
} );    

DEMO

Voir ce jsFiddle pour le code et la démonstration.

Créé 24/09/2015 à 12:14
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more