Вики Сообщества
Advertisement
Вики Сообщества

Таблицы с сортировкой позволяют упорядочивать данные по столбцам в порядке возрастания или убывания. Чтобы добавить кнопки сортировки, в режиме исходного кода присвойте таблице class="sortable".

В настоящий момент сортировка не работает в мобильном скине. Если вы хотите отсортировать данные по нескольким столбцам таблице, кликайте по колонкам, нажав клавишу Shift.

Основы[]

Чтобы сделать таблицу сортируемой, достаточно присвоить ей класс "sortable" или дописать этот класс через пробел к уже указанному. В этом случае все столбцы таблицы можно будет упорядочить.

Пример:

{| class="article-table sortable"
!Имя
!Фамилия
!Любимый цвет
|-
|Антон
|Иванов
|Коричневый
|-
|Анатолий
|Петров
|Зелёный
|-
|Алексей
|Сидоров
|Бордовый
|}


В результате:

Имя Фамилия Любимый цвет
Антон Иванов Коричневый
Анатолий Петров Зелёный
Алексей Сидоров Бордовый


Параметры сортировки[]

data-sort-type[]

По умолчанию данные в столбцах сортируются по таблице ASCII. Это не проблема в большинстве случаев, но есть и исключения. К примеру, числа будут упорядочены не по численному значению, а по порядковому номеру символа (числа 10, 20 и 100 будут упорядочены как 10, 100, 20). Эта проблема легко решается присвоением отдельного класса сортируемых данных главной ячейке столбца.

data-sort-type="..." может иметь различные значения, ниже перечислены самые распространённые из них:

  • text — упорядочивает текст в алфавитном порядке;
  • number — учитывает числовое значение, первый элемент может быть цифрой, запятой, точкой, пробелом, «-» или «+»;
  • currency — валюта, элемент должен начинаться с символа валюты $, £, €, или ¥ без пробелов (например: $100, ¥10000);
  • date — дата;
  • time — время.

Нужно заметить, что если хотя бы одно значение не подходит под указанный тип, то вся колонка будет отсортирована по таблице ASCII.

Пример:

{| class="article-table sortable"
!Наименование
!data-sort-type="number"|Количество
!data-sort-type="currency"|Валюта
|-
|!@#$%
|10
|$23
|-
|10000
|20
|¥54
|-
|Яблоко
|100
|£345
|-
|Банан
|200
|€999
|}


В результате получаем различную сортировку в зависимости от типа данных:

Наименование Количество Валюта
!@#$% 10 $23
10000 20 ¥54
Яблоко 100 £345
Банан 200 €999

data-sort-value[]

Иногда записанное значение в колонке не соответствует тому, как оно должно быть упорядочено. В этом случае можно использовать код data-sort-value="…".

Пример:

{| class="article-table sortable"
!Консоль
!Цвет
!Количество
|-
|Dreamcast
|Белый
| data-sort-value="5"|Пять
|-
|iPad
|Белый
| data-sort-value="0"|Ноль
|-
|Xbox
|Зелёный
| data-sort-value="8"|Восемь
|}


В результате:

Консоль Цвет Количество
Dreamcast Белый Пять
iPad Белый Ноль
Xbox Зелёный Восемь

Колонки, которым не требуется сортировка[]

Если в таблице есть колонка, значения в которой не нужно сортировать, добавьте в заголовке столбца class="unsortable".

Пример:

{| class="article-table sortable"
|-
!Игра
!Тема
! class="unsortable" |Рейтинг
|-
|Pocket League Story
|футбол
|☆☆
|-
|Game Dev Story
|симулятор
|☆☆☆
|-
|Grand Prix Story
|машины
|☆
|}


В результате:

Игра Тема Рейтинг
Pocket League Story футбол ☆☆
Game Dev Story симулятор ☆☆☆
Grand Prix Story машины


Нижняя строчка таблицы[]

Если в вашей таблице есть нижняя строка, которая содержит вывод, среднее значение или по какой-то другой причине не должна участвовать в сортировке, добавьте к этой строке класс class="sortbottom".

Пример:

{| class="article-table sortable"
!Имя
!Пол
!Возраст
|-
|Яна
|Женщина
|12
|-
|Пётр
|Мужчина
|23
|-
|Екатерина
|Женщина
|34
|- class="sortbottom"
!colspan="2"|Средний
|23
|}


В результате получим:

Имя Пол Возраст
Яна Женщина 12
Пётр Мужчина 23
Екатерина Женщина 34
Средний 23

См. также[]

Advertisement