IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

[DataTable] Tri et collation avec caractères acentués


Sujet :

jQuery

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 579
    Points : 804
    Points
    804
    Par défaut [DataTable] Tri et collation avec caractères acentués
    Bonjour,
    J'utilise DataTable et je constate que le tri des données rejette les caractères diacritiques accentués après les caractères simples. Il faudrait donc changer la collation pour que le é soit après le e et non pas après le z.
    J'ai effectué une recherche mais je n'ai trouvé que des informations sur les dates et non pas sur les chaînes de caractères.

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 413
    Points : 4 859
    Points
    4 859
    Par défaut
    Bonjour,

    Rajoutez ce plugin https://cdn.datatables.net/plug-ins/...orting/intl.js puis une ligne avant L'initialisation de DataTable $.fn.dataTable.ext.order.intl('fr'); et le problème sera résolu.

    La doc

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 579
    Points : 804
    Points
    804
    Par défaut
    Merci @Toufik83. Fonctionne super bien.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 579
    Points : 804
    Points
    804
    Par défaut
    A fonctionné deux jours et ne fonctionne plus. Le site du script ne fonctionne plus (erreur 404).
    J'obtiens plusieurs erreurs dont la première dont découle les autres:failed to load resource: the server responded with a status of 404 ().
    J'ai regardé ce site mais je ne comprends pas tout.

  5. #5
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 413
    Points : 4 859
    Points
    4 859
    Par défaut
    Bonjour,

    Vous voulez dire que le lien du script n'est plus valide? je viens de cliquer dessus et le script est toujours en ligne.

    Sinon il est possible d'enregistrer le fichier dans un dossier puis l'importer localement, comme ça vous n'aurez plus besoin de connexion pour faire fonctionner votre code, voici le script
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    (function( factory ) {
    	"use strict";
     
    	if ( typeof define === 'function' && define.amd ) {
    		// AMD
    		define( ['jquery'], function ( $ ) {
    			return factory( $, window, document );
    		} );
    	}
    	else if ( typeof exports === 'object' ) {
    		// CommonJS
    		module.exports = function (root, $) {
    			if ( ! root ) {
    				root = window;
    			}
     
    			if ( ! $ ) {
    				$ = typeof window !== 'undefined' ?
    					require('jquery') :
    					require('jquery')( root );
    			}
     
    			return factory( $, root, root.document );
    		};
    	}
    	else {
    		// Browser
    		factory( jQuery, window, document );
    	}
    }
    (function( $, window, document ) {
     
     
    $.fn.dataTable.ext.order.intl = function ( locales, options ) {
    	if ( window.Intl ) {
    		var collator = new Intl.Collator( locales, options );
    		var types = $.fn.dataTable.ext.type;
     
    		delete types.order['string-pre'];
    		types.order['string-asc'] = collator.compare;
    		types.order['string-desc'] = function ( a, b ) {
    			return collator.compare( a, b ) * -1;
    		};
    	}
    };
     
     
    }));

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 579
    Points : 804
    Points
    804
    Par défaut
    C'est vraiment bizarre parce que si je clique directement sur le lien, j'ai aussi une erreur 404.
    J'ai d'autres problèmes et je me demande s'ils ne sont pas liés. Pour info, voici mon script avec des commentaires:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    	<script src="https://code.jquery.com/jquery-3.3.1.js"</script>
    	<script src="https://cdn.datatables.net/1.13.6/css/jquery.dataTables.min.css"></script>
    	<script src="https://cdn.datatables.net/1.13.6/js/jquery.dataTables.min.js"></script>
    	<!-- <script src="https://cdn.datatables.net/plug-ins/...orting/intl.js"></script> -->		<!-- see documentation here: https://datatables.net/blog/2017-02-28 -->
    	<script>
    	$(document).ready(function() {  			// executed when document is loaded
    		//$.fn.dataTable.ext.order.intl('fr');	// french collation: doesn't work (intl.js file not found)
    		let table = new DataTable('#table',{
    			language: {
    				url: "view/lang/<?= $this['language'] ?>_dataTables.json",
    				},
    			// three next lines don't work with or without quotes (")
    			"lengthChange": true,
    			"pageLength": 10,
    			"lengthMenu": [ 10, 25, 50, 75, 100 ],
     
    			initComplete: function() {
    				$('#table_filter [type="search"]').focus();
    			}
    		});
    	});
    	</script>
    Pour le reste, DataTable fonctionne.

  7. #7
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 413
    Points : 4 859
    Points
    4 859
    Par défaut
    Citation Envoyé par moimp Voir le message
    C'est vraiment bizarre parce que si je clique directement sur le lien, j'ai aussi une erreur 404
    Alors là, je ne sais plus quoi dire, car pour moi il s'affiche.


    Je vois aussi que vous avez mal copié le lien du script src="https://cdn.datatables.net/plug-ins/...orting/intl.js" , la suite du lien a été remplacée par 3 points ... dans ma réponse sur le Forum.

    Vous devriez copier le lien directement depuis la barre d'adresse du navigateur après avoir cliquer sur le lien, voici le lien complet https://cdn.datatables.net/plug-ins/1.10.25/sorting/intl.js

  8. #8
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 579
    Points : 804
    Points
    804
    Par défaut
    Ah oui, je ne sais pas d'où j'ai copié le lien. Maintenant, la page est trouvée mais le tri ne fonctionne pas.

  9. #9
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 413
    Points : 4 859
    Points
    4 859
    Par défaut
    tu as décommenté la ligne 7 ?//$.fn.dataTable.ext.order.intl('fr');

  10. #10
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 579
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 579
    Points : 804
    Points
    804
    Par défaut
    Tu as raison de poser la question car c'est bien le genre d'erreur que j'aurais pu commettre mais la ligne est bien en fonction.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. DataTables tri auto sur une colonne
    Par Vincent Valentine dans le forum jQuery
    Réponses: 6
    Dernier message: 09/03/2016, 09h27
  2. [dataTable] Tri et filtre ne fonctionnent pas
    Par doons dans le forum JSF
    Réponses: 10
    Dernier message: 17/06/2015, 16h57
  3. [Plugin] Datatable - Tri / Date & Plugins
    Par laztog dans le forum jQuery
    Réponses: 13
    Dernier message: 26/02/2015, 13h40
  4. [Plugin] DataTables tri numerique
    Par Kreepz dans le forum jQuery
    Réponses: 1
    Dernier message: 24/12/2014, 14h43
  5. problème de tri avec collation utf8
    Par ram-0000 dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/05/2012, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo