Documentation Index

Fetch the complete documentation index at: https://docs.document360.com/llms.txt

Use this file to discover all available pages before exploring further.

Clause de non-responsabilité: Cet article a été généré par traduction automatique.

As of 22 Nov 2025, the Markdown editor has been upgraded from v1.4.10 to v3.2.2. The toolbar, layout, icons, and editor structure remain unchanged.

Comment trier le contenu d’un tableau

Prev Next

Ajouter des colonnes triables à vos tableaux permet aux lecteurs de réorganiser le contenu des tables en cliquant sur n’importe quel en-tête de colonne. Cliquer une fois sur un en-tête trie en montant (▴) ; cliquer à nouveau trie en descendant (▾). L’implémentation nécessite deux ajouts à vos paramètres CSS & JavaScript personnalisés : un extrait CSS qui stylise les indicateurs de tri, et un extrait JavaScript qui gère la logique de tri.


Quand utiliser des tables triables

  • Tableaux de référence avec de nombreuses lignes : le tri permet aux lecteurs de trouver rapidement l’entrée qu’ils recherchent plutôt que de parcourir toute la table.
  • Tableaux comparatifs : les lecteurs peuvent trier par n’importe quel attribut (prix, nom, disponibilité des fonctionnalités) pour comparer les options selon leurs propres conditions.
  • Articles axés sur les données : le tri réduit le besoin pour les lecteurs de demander une version filtrée ou réorganisée des données.
NOTE

Cette implémentation s’applique à toutes les tables de votre site de base de connaissances. Le tri est déclenché lorsque le lecteur clique sur n’importe quel en-tête de colonne. L’icône de tri dans l’en-tête indique la direction de tri actuelle — ascendante (▴) ou descendante (▾).


Comment ajouter des colonnes triables dans des tables

Cela nécessite deux étapes : ajouter le CSS pour les indicateurs visuels, puis ajouter le JavaScript pour la logique de tri.

Ajoutez le CSS

  1. Dans le portail de la Base de connaissances, rendez-vous sur Paramètres > site de la Base de connaissances > CSS & JavaScript personnalisés.

Knowledge base site settings page showing the Custom CSS and JavaScript option in the left navigation.

  1. Sélectionnez l’onglet CSS et collez l’extrait suivant :
table th {
    cursor: pointer;
}

table .th-sort-asc::after {
    content: "\25b4";
}

table .th-sort-desc::after {
    content: "\25be";
}

table .th-sort-asc::after,
table .th-sort-desc::after {
    margin-left: 5px;
}

table .th-sort-asc,
table .th-sort-desc {
    background: rgba(0, 0, 0, 0.1);
}
  1. Cliquez sur Enregistrer.

Custom CSS editor showing the sort table CSS snippet pasted in the CSS tab with the Save button visible.

Ajouter le JavaScript

  1. Dans la même page de paramètres personnalisés CSS & JavaScript , sélectionnez l’onglet JavaScript .
  2. Collez l’extrait suivant :
$( "table" ).addClass("table-sortable");

/**
 * Sorts a HTML table.
 * 
 * @param {HTMLTableElement} table The table to sort
 * @param {number} column The index of the column to sort
 * @param {boolean} asc Determines if the sorting will be in ascending
 */
function sortTableByColumn(table, column, asc = true) {
    const dirModifier = asc ? 1 : -1;
    const tBody = table.tBodies[0];
    const rows = Array.from(tBody.querySelectorAll("tr"));

    // Sort each row
    const sortedRows = rows.sort((a, b) => {
        const aColText = a.querySelector(`td:nth-child(${ column + 1 })`).textContent.trim();
        const bColText = b.querySelector(`td:nth-child(${ column + 1 })`).textContent.trim();

        return aColText > bColText ? (1 * dirModifier) : (-1 * dirModifier);
    });

    // Remove all existing TRs from the table
    while (tBody.firstChild) {
        tBody.removeChild(tBody.firstChild);
    }

    // Re-add the newly sorted rows
    tBody.append(...sortedRows);

    // Remember how the column is currently sorted
    table.querySelectorAll("th").forEach(th => th.classList.remove("th-sort-asc", "th-sort-desc"));
    table.querySelector(`th:nth-child(${ column + 1})`).classList.toggle("th-sort-asc", asc);
    table.querySelector(`th:nth-child(${ column + 1})`).classList.toggle("th-sort-desc", !asc);
}

document.querySelectorAll(".table-sortable th").forEach(headerCell => {
    headerCell.addEventListener("click", () => {
        const tableElement = headerCell.parentElement.parentElement.parentElement;
        const headerIndex = Array.prototype.indexOf.call(headerCell.parentElement.children, headerCell);
        const currentIsAscending = headerCell.classList.contains("th-sort-asc");

        sortTableByColumn(tableElement, headerIndex, !currentIsAscending);
    });
});
  1. Cliquez sur Enregistrer.

Custom JavaScript editor showing the sort table JavaScript snippet pasted in the JavaScript tab with the Save button visible.


Conséquences

Après avoir sauvegardé les deux extraits, tous les en-têtes de colonnes de tableau sur votre site de Knowledge Base deviennent cliquables. Cliquer sur un en-tête trie les lignes du tableau par cette colonne. Un indicateur de direction de tri apparaît dans l’en-tête de colonne actif.

Knowledge Base site table showing clickable column headers with ascending sort indicator applied to the active column.