8
votes

Comment puis-je trier une colonne contenant un numéro et une image à l'aide de DataTable

Comment puis-je trier la deuxième colonne contenant de l'image et du numéro.

$("#tb").dataTable({
    "order": [
        [1, "asc"]
    ]
});


3 Réponses :


0
votes

Basé sur @guruprasad Rao Commentaire et le plugin Docs ( http://datatables.net/plug -ins / tri de # Hidden_title_string ), vous devez créer votre propre filtre. Quelque chose comme ça:

Code de filtrage: xxx

puis dans la fonction DataTable init: xxx


1 commentaires

C'est probablement la solution la plus générale, mais il semble que deux réponses de Scottysmalls puissent résoudre cette situation particulière plus simplement.



2
votes

En raison de la balise d'image, il trie comme une chaîne. Il commencera à trier avec le premier texte qu'il voit, de sorte que la façon dont je me passe autour est en ajoutant une portée cachée avec la valeur numérique. Il vous suffit de vous rappeler de faire toutes les valeurs de la même longueur car elles seront toujours triées comme chaînes. Vous pouvez le faire en ajoutant 0's.

Un exemple [en supposant que je sais que mon numéro ne sera jamais plus de 100]: xxx

un tri croissant, même comme une chaîne , entraînera 1, 24, 33, 51


1 commentaires

C'est une solution très intelligente.



2
votes

Le tri est beaucoup plus flexible dans la version actuelle de datables avec l'inclusion de HTML5 Attributs de données .

Connexion des attributs de traits de données ou de commande de données à la balise TD vous permet de personnaliser l'ordre de tri pour tous les types d'objets DOM dans vos tables. xxx


1 commentaires

J'ai commencé à écrire que cela ne fonctionne peut-être pas dans un réglage dynamique (où les données proviennent de dB), mais IIUYC, vous voulez simplement mettre la même "valeur" dans l'attribut de commande de données, et les tables de données utiliseront le Attribut de commande de données au lieu du contenu de la cellule. Droit?