Les tables de données: recherche de toutes les colonnes côté serveur
Je suis en utilisant IgnitedDatatables (CodeIgniter bibliothèque) pour DataTables. Le tableau est généré sans problèmes, mais si je recherche/filtre il ne peut le filtre d'une colonne à la fois. Si j'ai mis "bServerSide" pour de faux, il fonctionne, mais je perds le côté serveur de la fonctionnalité.
Dans les exemples, ce que l'on est à travailler:
http://datatables.net/release-datatables/examples/ajax/custom_data_property.html
alors que ce n'est pas (côté serveur):
http://datatables.net/release-datatables/examples/data_sources/server_side.html
Est-ce pas possible à atteindre lors de l'exécution côté serveur?
C'est ma réponse JSON (raccourci et avec remplacée données):
{"sEcho":0,"iTotalRecords":45438,"iTotalDisplayRecords":45438,"aaData":[["abc","12345","[email protected]","","","2010-01-27 22:31:10","Edit<\/a> Delete<\/a>"],["abc2"," test123","[email protected]","","","2008-06-15 22:09:33","Edit<\/a> Delete<\/a>"]],"sColumns":"fname,lname,email,phone,cellphone,created,edit"}
Code JavaScript:
$("#members").dataTable( {
"bProcessing": true,
"bServerSide": true,
'sAjaxSource': '<?php echo base_url();?>members/listener',
"fnServerData": function ( sSource, aoData, fnCallback ) {
$.ajax( {
"dataType": 'json',
"type": 'POST',
"url": sSource,
"data": aoData,
"success": fnCallback
} );
},
"bLengthChange": false,
"aaSorting": [[ 0, "asc" ]],
"iDisplayLength": 15,
"sPaginationType": "full_numbers",
"bAutoWidth": false,
"aoColumnDefs": [
{ "sName": "fname", "aTargets": [ 0 ] },
{ "sName": "lname", "aTargets": [ 1 ] },
{ "sName": "email", "aTargets": [ 2 ] },
{ "sName": "phone", "sWidth": "80px", "aTargets": [ 3 ] },
{ "sName": "cellphone", "sWidth": "100px", "aTargets": [ 4 ] },
{ "sName": "created", "sWidth": "120px", "aTargets": [ 5 ] },
{ "bSortable": false, "sName": "edit", "sWidth": "115px", "aTargets": [ 6 ] }
]
});
Merci!
Vous devez vous connecter pour publier un commentaire.
Bien, le problème si le filtre côté serveur, c'est que vous êtes pour le filtrage d'une requête SQL et c'est ce qui est écrit sur le exemple que vous avez posté;
Fondamentalement, vous pourriez faire ce que vous voulez faire (une expression régulière correspond à une toutes les colonnes), mais il va tuer les performances côté serveur.
Ce que je fais habituellement est de fournir un filtre pour chaque colonne, j'ai besoin de filtre.