Créez des tableaux évolués avec JQuery

DataTables est un plug-in pour la bibliothèque Javascript jQuery.

Il s'agit d'un outil très souple, fondée sur les bases de l'amélioration progressive, qui va ajouter des contrôles d'interaction avancées à une table HTML.

 

DataTables fonctionne sur le principe d'amélioration progressive qui vous permettra de présenter une table améliorée et interactive, si son navigateur possède les capacités requises bien sur.

A la base conçue pour permettre l'affichage dynamique de données mémorisées dans une BDN, ce Plugin peut s'utiliser comme un simple tableau HTML dans lequel vous intégrerez manuellement vos informations en apportant au visiteur de votre site une immense plus-value de lecture ou recherche d'information y étant contenu.

Téléchargeable avec un grand nombre de modèles, il vous suffira de définir le style de table attendue (à l'aide de votre navigateur web, tout simplement) et d'intégrer le code JavaScript indiqué dans votre page HTML.

Lorsque vous initialiser jQuery.dataTable, les informations de la table sont lues directement sur la page HTML.

En option, vous pouvez utiliser les paramètres d'initialisation de charger des données à partir d'emplacements autres que le DOM, comme un script de traitement côté serveur ou un fichier JSON Ajax obtenu.

 

Un exemple de ce que vous pouvez réaliser

 

Rendering engine Browser Platform(s) Engine version CSS grade
Trident Internet Explorer 4.0 Win 95+ 4 X
Trident Internet Explorer 5.0 Win 95+ 5 C
Trident Internet Explorer 5.5 Win 95+ 5.5 A
Trident Internet Explorer 6 Win 98+ 6 A
Trident Internet Explorer 7 Win XP SP2+ 7 A
Trident AOL browser (AOL desktop) Win XP 6 A
Gecko Firefox 1.0 Win 98+ / OSX.2+ 1.7 A
Gecko Firefox 1.5 Win 98+ / OSX.2+ 1.8 A
Gecko Firefox 2.0 Win 98+ / OSX.2+ 1.8 A
Gecko Firefox 3.0 Win 2k+ / OSX.3+ 1.9 A
Gecko Camino 1.0 OSX.2+ 1.8 A
Gecko Camino 1.5 OSX.3+ 1.8 A
Gecko Netscape 7.2 Win 95+ / Mac OS 8.6-9.2 1.7 A
Gecko Netscape Browser 8 Win 98SE+ 1.7 A
Gecko Netscape Navigator 9 Win 98+ / OSX.2+ 1.8 A
Gecko Mozilla 1.0 Win 95+ / OSX.1+ 1 A
Gecko Mozilla 1.1 Win 95+ / OSX.1+ 1.1 A
Gecko Mozilla 1.2 Win 95+ / OSX.1+ 1.2 A
Gecko Mozilla 1.3 Win 95+ / OSX.1+ 1.3 A
Gecko Mozilla 1.4 Win 95+ / OSX.1+ 1.4 A
Gecko Mozilla 1.5 Win 95+ / OSX.1+ 1.5 A
Gecko Mozilla 1.6 Win 95+ / OSX.1+ 1.6 A
Gecko Mozilla 1.7 Win 98+ / OSX.1+ 1.7 A
Gecko Mozilla 1.8 Win 98+ / OSX.1+ 1.8 A
Gecko Seamonkey 1.1 Win 98+ / OSX.2+ 1.8 A
Gecko Epiphany 2.20 Gnome 1.8 A
Webkit Safari 1.2 OSX.3 125.5 A
Webkit Safari 1.3 OSX.3 312.8 A
Webkit Safari 2.0 OSX.4+ 419.3 A
Webkit Safari 3.0 OSX.4+ 522.1 A
Webkit OmniWeb 5.5 OSX.4+ 420 A
Webkit iPod Touch / iPhone iPod 420.1 A
Webkit S60 S60 413 A
Presto Opera 7.0 Win 95+ / OSX.1+ - A
Presto Opera 7.5 Win 95+ / OSX.2+ - A
Presto Opera 8.0 Win 95+ / OSX.2+ - A
Presto Opera 8.5 Win 95+ / OSX.2+ - A
Presto Opera 9.0 Win 95+ / OSX.3+ - A
Presto Opera 9.2 Win 88+ / OSX.3+ - A
Presto Opera 9.5 Win 88+ / OSX.3+ - A
Presto Opera for Wii Wii - A
Presto Nokia N800 N800 - A
Presto Nintendo DS browser Nintendo DS 8.5 C/A1
KHTML Konqureror 3.1 KDE 3.1 3.1 C
KHTML Konqureror 3.3 KDE 3.3 3.3 A
KHTML Konqureror 3.5 KDE 3.5 3.5 A
Tasman Internet Explorer 4.5 Mac OS 8-9 - X
Tasman Internet Explorer 5.1 Mac OS 7.6-9 1 C
Tasman Internet Explorer 5.2 Mac OS 8-X 1 C
Misc NetFront 3.1 Embedded devices - C
Misc NetFront 3.4 Embedded devices - A
Misc Dillo 0.8 Embedded devices - X
Misc Links Text only - X
Misc Lynx Text only - X
Misc IE Mobile Windows Mobile 6 - C
Misc PSP browser PSP - C
Other browsers All others - - U

 

Un peu plus de détails

Les principales caractéristiques proposées par ce Plugin :

  • Pagination de longueur variable
  • Filtrage à la volée
  • Plusieurs colonnes de tri avec détection de type de données
  • Manipulation intelligente des largeurs de colonnes
  • Afficher les données de presque n'importe quelle source
  • Options de défilement dans la fenetre de table
  • Entièrement internationalisable
  • Fiabilité epprouvée par 2900 tests
  • Grande variété de plug-ins inc. éditeur , TableTools , FixedColumns et plus
  • Gratuit !
  • Colonnes masquées
  • Création dynamique des tables
  • Chargement automatique des données Ajax
  • Positionnement DOM Personnalisé
  • Types de pagination alternatifs
  • Contrôle d'nteraction DOM
  • Tri des colonnes (s) en mise en surbrillance
  • Options avancées de la source de données
  • Manipulable par écran tactile et clavier
  • Compression des fichier: 70K équivault à 20K gzip
  • Plug-in de prise en charge étendue
    • Le tri, la détection du type, fonctions de l'API, la pagination et le filtrage
  • Entièrement personnalisable par CSS
  • Une documentation solide
  • 130 modèles / templates disponibles

 

Les sources de données

DataTables peut récupérer les données à d'afficher d'un certain nombre de sources différentes.

Il existe quatre méthodes pour jumeler une base de données à DataTables:

 

DOM

Au niveau de base, vous pouvez donner à votre DataTables une référence à une table qui existe déjà dans votre page HTML et lui apporter de ce fait une amélioration conséquente.
DataTables va lire toutes les informations sur la table de cette page (DOM) et d'ajouter des fonctionnalités telles que le filtrage, la pagination et le tri.

 

Tableau JavaScript

Ce language fournit la capacité de donner à votre DataTables les informations que vous souhaitez afficher dans le tableau comme un tableau JavaScript 2D (c'est à dire un tableau de tableaux).
Ceci est utile lorsque vos données sont calculées par JavaScript ou lors de l'ajout d'un tableau à une page dynamique.
Il peut également être utilisé avec l'amélioration progressive parallèle pour présenter le tableau complet si JavaScript est activé, mais le tableau HTML ne ferait que montrer la première "page".

 

Source Ajax

Lorsque les données que vous souhaitez afficher sont disponibles à partir d'un serveur, vous pouvez demander à DataTables d'aller sur le serveur et récupérer les données pour obtenir l'affichage de celles-ci.
Un cas d'utilisation courante est lorsque vous affichez des informations en direct qui pourraient être mises à jour périodiquement. Bien que le format de base qui nécessite DataTables est fixé (un objet avec un tableau 2D appelé "aaData"), vous pouvez utiliser fnServerData pour personnaliser l'appel Ajax qu'effectue DataTables ainsi que le post-traitement du format de données attendu par DataTables.

 

Le traitement côté serveur

Lorsqu'il s'agit de grands ensembles de données (par exemple 20 millions de lignes), les navigateurs web ne peuvent tout simplement pas faire face à la quantité de traitement qui est nécessaire pour DataTables.
Au lieu de cela, c'est une bonne idée de faire passer les données par un processus spécialement conçu pour cela : une base de données SQL (ou toute autre source de données!).
Le processus côté serveur fera tout de la pagination, le tri, le filtrage, etc, tandis que DataTables affichera simplement les résultats et gérera l'interaction de l'utilisateur.

 

Pour en savoir plus et télécharger ce module :