Comment afficher un message de données vide dans Datatables
Supposons que je reçois des données vides du serveur parfois, je veux afficher aucun message de données trouvées dans DataTables?. Comment est-ce possible?
6 réponses
Si vous souhaitez personnaliser le message affiché sur une table vide, utilisez ceci:
$('#example').dataTable( {
"oLanguage": {
"sEmptyTable": "My Custom Message On Empty Table"
}
} );
Depuis Datatable 1.10 vous pouvez faire ce qui suit:
$('#example').DataTable( {
"language": {
"emptyTable": "My Custom Message On Empty Table"
}
} );
Pour les messages personnalisés Complete availble DataTables pour la table, consultez le lien suivant reference / option / language
Les versions ultérieures de dataTables
ont les paramètres language
suivants (extraits de ici):
-
"infoEmpty"
- affiche lorsqu'il n'y a pas d'enregistrements dans la table -
"zeroRecords"
- affiché lorsqu'il n'y a pas d'enregistrements correspondant au filtrage
Par exemple
$('#example').DataTable( {
"language": {
"infoEmpty": "No records available - Got it?",
}
});
Remarque: Comme les noms de propriété ne contiennent pas de caractères spéciaux vous pouvez supprimer les guillemets:
$('#example').DataTable( {
language: {
infoEmpty: "No records available - Got it?",
}
});
Par défaut, la vue de la grille prendra soin, il suffit de passer un ensemble de données vide.
Il convient de noter que si vous renvoyez des données côté serveur, vous devez fournir l'attribut Data même s'il n'y en a pas. Il ne lit pas recordsTotal
ou recordsFiltered
mais s'appuie sur le nombre de l'objet de données
Vous pouvez aussi le faire dans initComplete
comme ci-dessous
"initComplete": function(settings, json) {
$('.dataTables_empty').html("<span class='label label-danger'>No records found</span>");
}
En retard dans le jeu, mais vous pouvez également utiliser un fichier de localisation
DataTable fournit un fichier .json
localisé, qui contient la clé sEmptyTable
et le message localisé correspondant.
Par exemple, téléchargez simplement le fichier JSON localisé sur le lien ci-dessus , puis initialisez votre Datatable
comme ceci:
$('#example').dataTable( {
"language": {
"url": "path/to/your/json/file.json"
}
});
IMHO, c'est beaucoup plus propre, car votre contenu localisé est situé dans un fichier externe.
Cette syntaxe fonctionne pour DataTables 1.10.16 , Je n'ai pas testé sur les versions précédentes.