Таблицы можно сделать сортируемыми через клиентский JavaScript, добавив class="wikitable sortable"
в их верхнюю строку. Эти таблицы должны быть правильно отформатированы, с правильным количеством ячеек. Кроме того, вам нужно убедиться, что заголовки ваших столбцов правильно указаны в викитексте . Для этого !
в синтаксисе таблицы используется символ.
Если вы используете визуальный редактор , вы можете открыть диалоговое окно свойств таблицы и выбрать параметр сортировки.
Это викитекст таблицы, показанной в первом разделе, который показывает типичный способ включения сортировки таблицы:
{| class = "wikitable sortable" |- ! name ! data ! more data |- | cats | 273 | 53 |- | dogs | 65 | 8,492 |- | mouses | 1,649 | 548 |}
Указывает !
ячейки, которые являются ячейками заголовков. Для того, чтобы таблица была сортируемой, первая строка(и) таблицы должны быть полностью составлены из этих ячеек заголовков. Вы можете узнать больше о базовом синтаксисе таблиц, изучив Введение в таблицы для редактирования исходного кода.
Когда пользователи впервые видят таблицу, строки всегда отображаются в том же порядке, что и в викитексте. Если вы хотите, чтобы таблица отображалась отсортированной по определенному столбцу, вы должны отсортировать сам викитекст в этом порядке. Обычно это делается для первого столбца. VisualEditor позволяет легко перемещать отдельные столбцы и строки таблицы. Информацию об этом, а также о размещении таблицы в исходном алфавитном порядке см. в разделе Исходный алфавитный порядок.
При просмотре Википедии вы можете столкнуться с таблицами , которые были сделаны сортируемыми . Сортируемая таблица — это тип таблицы, используемый для того, чтобы позволить читателям сортировать свои данные, нажимая на ячейки заголовков столбцов. Она идентифицируется по стрелкам в одной или нескольких ячейках заголовков. Обычно читатели могут сортировать данные в порядке возрастания или убывания на основе значений в выбранном столбце. Первый щелчок по ячейке заголовка отсортирует данные столбца в порядке возрастания, второй щелчок по той же стрелке — в порядке убывания, а третий щелчок восстановит исходный порядок всей таблицы. Например, третий щелчок приводит к сбросу списка стран по уровню преднамеренных убийств к исходному порядку по субрегионам.
Сортируемые таблицы особенно полезны для организации и навигации по большим наборам данных. Например, у вас может быть таблица, отображающая имена, даты или числовые данные. Сделав таблицу сортируемой, вы позволяете читателям нажимать на заголовок столбца, чтобы сортировать, например, по алфавиту (A–Z или Z–A) для имен, по хронологическому порядку для дат или по числовому порядку для чисел (от меньшего к большему или от большего к меньшему).
Фактический процесс сортировки будет происходить на стороне компьютера с использованием клиентского JavaScript . По этой причине использовать эту функцию можно только в том случае, если в вашем веб-браузере включен JavaScript. Процесс сортировки также зависит от вашего компьютера и объема данных. Сортировка очень большой таблицы на компьютере с низкой производительностью может занять много времени.
Вот пример небольшой сортируемой таблицы:
Результат визуализации
Источник Вики
{| class = "wikitable sortable" |- ! name ! data ! more data |- | cats | 273 | 53 |- | dogs | 65 | 8,492 |- | mouses | 1,649 | 548 |}
Таблицы с более сложными заголовками, чем раньше, теперь сортируются правильно. Например:
Результат визуализации
Источник Вики
{| class = "wikitable sortable" |- ! rowspan = 2 | name ! colspan = 2 | data columns |- ! data ! more data |- | cats | 273 | 53 |- | dogs | 65 | 8,492 |- | mouses | 1,649 | 548 |}
При использовании двух или более строк заголовков стрелки сортировки по умолчанию размещаются в нижней или самой нижней строке заголовков. Их можно разместить максимум на одну строку выше самой нижней строки заголовков, установив class="sorttop"
в верхней части нижней строки заголовков. Например:
Можно создавать таблицы с ячейками, которые простираются на два или более столбцов или строк (также известные как объединенные ячейки). Для столбцов используется , тогда как для строк используется . В коде таблицы необходимо исключить ячейки, которые охватываются таким диапазоном . Полученное количество столбцов и строк должно соответствовать. Таблицы могут иметь ячейки, охватывающие несколько строк, с использованием .|colspan=n | content
|rowspan=m | content
|rowspan=n
Количество строк должно быть указано при каждом использовании rowspan. Перед выполнением сортировки необходимо правильно настроить rowspan. Викитекст должен быть правильным. Неправильная организация rowspan может нарушить сортировку, вызвать странное форматирование таблицы, переместить данные в неправильный столбец и т. д.
Смотрите примеры ниже.
При сортировке все строки заполняются. Таблицы без rowspan гораздо проще поддерживать менее опытным редакторам и редакторам, которые заходят только один раз, чтобы отредактировать таблицу.
Правильные номера строк и викитекст с сортировкой в рабочем порядке:
Результат визуализации
Источник Вики
{| class = "викитаблица с возможностью сортировки" |-! имя! данные! год|-| кошки| 273| 2013|-| собаки| 65| диапазон строк = 2 | 2014 |-| мыши| 1,649<!--столбец 3 охватывает ячейку "2014"-->|}
Обратите внимание, что после сортировки ячейки, охватывающие строки, разрезаются на строки, а их содержимое повторяется (в примере это год «2014»). Если восстановить исходный порядок таблицы, щелкнув третий раз по той же стрелке, то ячейки останутся повторяющимися и не вернутся к исходному охвату строк.
См. пример ниже. Неверный викитекст. Строка 17 не должна существовать. Сравните с правильной таблицей выше. Результатом в этом случае является добавленный пустой столбец.
Результат визуализации
Источник Вики
{| class = "викитаблица с возможностью сортировки" |-! имя! данные! год|-| кошки| 273| 2013|-| собаки| 65| диапазон строк = 2 | 2014 |-| мыши| 1,649||}
Простой онлайн-редактор вики-таблиц находится здесь:
Он позволяет легко редактировать текст и ссылки в отдельных ячейках таблицы. Это особенно легко, когда в теле таблицы нет rowspans. См. предыдущий раздел. Без rowspans проще изменять базовую структуру таблицы и перемещать элементы. Как только структура викитекста становится проще, онлайн-редактор таблиц также становится проще, потому что вам не нужно так много редактировать викитекст, чтобы редактировать таблицу.
Если столбец содержит повторяющиеся значения, сортировка столбца должна поддерживать исходный порядок строк в каждом подмножестве, которое разделяет одно и то же значение. Это известно как стабильная сортировка . В результате многоключевая сортировка (сортировка по первичному, вторичному, третичному ключу и т. д.) может быть достигнута путем сортировки наименее значимого ключа первым, а наиболее значимого — последним. Например, чтобы отсортировать таблицу по столбцу «Текст», а затем по столбцу «Числа», вы сначала должны щелкнуть и отсортировать по столбцу «Числа», вторичному ключу , а затем щелкнуть и отсортировать по столбцу «Текст», первичному ключу .
Другой метод сортировки по нескольким ключам — удерживать клавишу ⇧ Shiftпри нажатии на заголовки столбцов. Например, чтобы отсортировать по столбцу «Текст», а затем по столбцу «Числа», сначала нужно нажать на заголовок столбца «Текст» (первичный ключ), затем удерживать клавишу и нажать на заголовок столбца «Числа» (вторичный ключ).⇧ Shift
Могут возникнуть проблемы с сортировкой, если гаджет перевода Google (см. обсуждение ) включен в Настройках → Гаджеты → GoogleTrans . Может показаться, что вторичная сортировка с помощью Shift-Click не работает из-за задержки, вызванной всплывающим окном перевода для имени в заголовке столбца. Гаджет можно быстро включать и выключать после включения в настройках из меню «Инструменты» в правом верхнем углу любой страницы. Существует множество надстроек для перевода браузера (например, Simple Translate для Firefox, Chrome и Edge), которые работают так же хорошо или даже лучше, чем гаджет.
Результат визуализации
Источник Вики
{| class = "wikitable sortable" |- ! {{vert header|stp=1|name}} ! {{vert header|stp=1|data}} ! {{vert header|stp=1|more data}} ! {{vert header|stp=1|another column}} |- | кошки | 273 | 53 | 1 |- | собаки | 65 | 8,492 | 2 |- | мыши | 1,649 | 548 | 3 |}
{{ vertical header }} также работает с заголовками, которые охватывают строки или столбцы (используя rowspan
и col span
). Обратите внимание|
, что между rowspan=2
и нет вертикальной черты{{vertical header}}
Результат визуализации
Источник Вики
{| class = "wikitable sortable" |- ! rowspan=2 {{vert header|stp=1|name}} ! colspan=2 {{vert header|data columns}} ! rowspan=2 {{vert header|stp=1|another column}} |- ! {{vert header|stp=1|data}} ! {{vert header|stp=1|more data}} |- | кошки | 273 | 53 | 1 |- | собаки | 65 | 8,492 | 2 |- | мыши | 1,649 | 548 | 3 |}
{{ sort under }} можно использовать для того, чтобы стрелки сортировки отображались под текстом заголовка, что может быть полезно для сужения ширины столбца.
Таблицы можно сортировать только по вертикали, нажимая на заголовки столбцов (самые верхние ячейки). При щелчке по заголовку столбца строки таблицы переупорядочиваются вверх и вниз на основе значений в этом столбце. Однако нет функциональности для сортировки столбцов по горизонтали путем щелчка по ячейке в самой левой строке. Таким образом, столбцы таблицы не будут переупорядочиваться слева направо на основе своих данных, поскольку сортировка по горизонтали не поддерживается в типичных реализациях сортируемых таблиц.
Если вы хотите, чтобы определенный столбец не был сортируемым, укажите class=unsortable
в атрибутах его ячейки заголовка. Если у вас есть строка сортировки, то она class=unsortable
должна быть в ячейке заголовка со значком сортировки.
(При использовании {{ vert header }} отключите сортировку столбцов, исключив |stp=1
этот шаблон, который переопределит все, что размещено до него.)
Источник Вики
{| class = "wikitable sortable" ! Числа !! class = "unsortable" | Несортируемые |- | 1 || Это |- | 2 || Столбец |- | 3 || Является |- | 4 || Несортируемые |- | 5 || Видите? |- ! Всего: 15 !! |}
Результат визуализации
Иногда бывает полезно исключить последнюю строку таблицы из процесса сортировки. Для этого есть два способа.
Вам нужно повторить заголовок внизу. Вы делаете это, используя !
синтаксис (восклицательный знак) для всех ячеек в последней строке таблицы. Это будет распознано как нижний колонтитул, и строка не будет частью сортировки. Этот нижний колонтитул делает таблицу сложной, и поэтому области видимости помогают обеспечить доступность через программы чтения с экрана .
Источник Вики
{| class = "wikitable sortable" |+ Пример заголовка как нижнего колонтитула |- ! scope = col | Имя ! scope = col | Фамилия ! scope = col | Рост |- ! scope = row | Джон | Смит | 1.85 |- ! scope = row | Рон | Рэй | 1.89 |- ! scope = row | Марио | Бьянки | 1.72 |- ! scope = col | Имя ! scope = col | Фамилия ! scope = col | Рост |}
Результат визуализации
Это относится ко всем строкам в конце таблицы, которые являются последовательными и полностью состоят из ячеек заголовков. Эти строки не будут сортироваться.
Этого можно добиться, используя class=sortbottom
нужную строку таблицы (строку, начинающуюся с |-
).
Источник Вики
{| class = "wikitable sortable" |+ Пример нижнего колонтитула суммирования |- ! scope = col | Имя ! scope = col | Фамилия ! scope = col | Рост |- ! scope = row | Джон | Смит | 1,85 |- ! scope = row | Рон | Рэй | 1,89 |- ! scope = row | Марио | Бьянки | 1,72 |- class = sortbottom ! scope = row colspan = 2 | Среднее: || 1,82 |}
Результат визуализации
Это сложная таблица, поскольку ячейка "Среднее" охватывает 2 столбца. "Среднее" также является заголовком последней строки. Использование !
синтаксиса (восклицательный знак) с scope=row
приводит к генерации правильного заголовка HTML, что способствует доступности , например, для тех, кто использует программы чтения с экрана.
Можно закрепить несколько строк внизу, если они идут подряд.
Если строки «sortbottom» не являются последовательными, то при восстановлении исходного порядка таблицы путем третьего щелчка по той же стрелке строки с class=sortbottom
останутся внизу, даже если изначально они не были внизу.
Это работает так же, как и выше, для простых (не заголовочных) строк вверху. Этого можно добиться, используя class="sorttop"
на нужной строке таблицы (строка, начинающаяся с |-
). Можно зафиксировать несколько строк вверху, если они идут подряд.
По умолчанию система пытается угадать тип данных в каждом столбце. Она делает это, просматривая первые пять строк и оценивая их содержимое. Этот процесс работает большую часть времени, но также может легко запутаться, если у вас есть несогласованные значения или дополнительные спецификаторы, о которых система не знает. Чтобы избежать этой неоднозначности, вы можете принудительно задать определенный тип данных или переопределить значение ячейки. Для числовых значений рассмотрите возможность использования шаблона {{ Val }} , см. примеры в Template:Val § Сортировка .
Атрибут data-sort-type="..."
можно добавить в заголовок столбца, чтобы гарантировать, что все ячейки под ним будут обрабатываться как указанный тип данных. Он должен быть в ячейке заголовка со значком сортировки . Он не будет работать в ячейке заголовка без значка сортировки. Например, когда есть две строки заголовков, нижняя строка всегда будет иметь значки сортировки, как объяснялось ранее.
Следующие значения (без учета регистра) допустимы для data-sort-type
:
text
number
currency
url
для адресов веб-сайтовIPAddress
для числовых адресов интернет-протоколаdate
для стандартного формата даты, специфичного для языкаisoDate
для дат в формате ISO 8601 (т.е. ГГГГ-ММ-ДД)usLongDate
для дат в формате США месяц день год. Для работы должны быть все 3.time
data-sort-type=text
использует алфавитную сортировку текста, но числа сортируются численно в пределах этой алфавитной сортировки. См. естественный порядок сортировки .
Например:
Без data-sort-type=text
заголовка tablesorter путается из-за числовых заголовков в первых нескольких строках и обрабатывает весь столбец как числовой. Это приводит к тому, что он неправильно сортирует нечисловые заголовки как ноль, независимо от алфавитного порядка их текста.
Обратите внимание, что если столбец без объявленного типа сортировки содержит только числовые значения в первых пяти верхних ячейках, но со ссылкой <ref>...</ref>
сразу после последней цифры хотя бы одного числа в этих первых пяти ячейках, это может привести к сортировке столбца как текста. Этого можно избежать, объявив другой тип сортировки, например:data-sort-type=number
Если параметр не указан data-sort-type
, то режимы сортировки ( типы данных , которые, в дополнение к выбору «по возрастанию» или «по убыванию», определяют порядок сортировки) будут следующими:
считается пробелом; два соседних обычных пробела считаются одним; для нескольких пробелов можно использовать
или чередовать
и обычные пробелы)Если совпадает более одного возможного типа, выбирается первый тип в указанном выше порядке. Например, "24-12-2007" совпадает как дата, поэтому не рассматривается как число. Теги форматирования и разметки игнорируются при определении типа соответствия.
Режим сортировки определяется первыми 5 непустыми строками под заголовком после загрузки страницы. Это также может измениться после удаления строки или добавления столбца. Поэтому разумно убедиться, что каждый элемент соответствует критерию требуемого типа данных. С помощью шаблона строки это можно сделать очень удобно.
Чтобы убедиться, что режим сортировки каждого столбца соответствует желаемому, укажите data-sort-type
, см. выше.
Иногда значение ячейки анализируется неправильно или требуется отсортировать строку особым образом. (например, ячейка, содержащая «John Doe», на самом деле должна быть отсортирована как «Doe», а не как «John»). Этого можно легко добиться, используя , например:{{sortname}}
Источник Вики
Результат визуализации
В качестве альтернативы вы можете установить data-sort-value
атрибут:
Источник Вики
Например, это удобно для сортировки воинских званий в порядке старшинства:
Разметка Wiki
{|class="wikitable сортируемый"!Имя и фамилия!!Звание|-| data-sort-value="Смит, Джон" |Джон Смит|| data-sort-value="16" |[[Капрал|Капрал]]|-| data-sort-value="Рэй, Ян" |Иан Рэй|| data-sort-value="8" |[[Капитан (OF-2)|Капитан]]|-| data-sort-value="Бьянки, Закари" |Закари Бьянки|| data-sort-value="10" |[[2-й лейтенант|2-й лейтенант]]|}
Это дает:
См. также mw:Help:Сортировка#Указание ключа сортировки.
Если у вас есть список, в котором все записи начинаются с кавычек ("), и вы хотите задать ключ сортировки для одной из записей, то вам нужно будет использовать имя HTML или номер для кавычек в начале этого ключа сортировки (см. также Список ссылок на символьные сущности XML и HTML § Ссылки на символьные сущности в HTML ). Например, в списках названий песен иногда каждое название песни заключено в кавычки. Поэтому для сортировки по определенному слову в названии песни используйте один из следующих способов:
data-sort-value=""WORD"
data-sort-value=""WORD"
data-sort-value
может использоваться для сохранения определенных строк вместе. Указанный порядок этих строк сохраняется. Например, можно сохранить "South Holland" сразу после "Netherlands", независимо от порядка сортировки или столбца:
Результат визуализации
Источник Вики
{| class = "wikitable sortable" ! Страна/провинция !! Столица |- | Франция || Париж |- | Нидерланды || Амстердам |- | data-sort-value = Нидерланды | Южная Голландия || data-sort-value = Амстердам | Гаага |- | Великобритания || Лондон |}
Если у вас есть строки, содержащие colspans, это может стать немного сложным. Вы также можете использовать class="expand-child"
на строке; тогда он всегда будет под строкой, расположенной прямо над ней в исходном тексте таблицы, где бы эта строка ни была отсортирована в таблице.
Результат визуализации
Источник Вики
{| class = "wikitable sortable" ! style = "width:9.3em" | Страна !! Столица |- | '''Франция''' | Париж |- class = "expand-child" | colspan = "2" | В Париже находится Эйфелева башня. |- | '''Великобритания''' | Лондон |- class = "expand-child" | colspan = "2" | В Великобритании нельзя платить евро, |- class = "expand-child" | colspan = "2" | и у вас левостороннее движение. |- | '''Германия''' | Берлин |- class = "expand-child" | colspan = "2" | Германия включает бывшую ГДР. |}
Скрипт видит, что содержат первые 5 ячеек в столбце. Режим сортировки становится числовым , если первые 5 ячеек содержат только число (запятая и точка, используемые в форматировании чисел, принимаются как число). Числовой порядок сортировки сохраняется, даже если в ячейках, следующих за 5-й ячейкой, находится текст. 123,564,589.7e12 находится в научной нотации и рассматривается как число. Пустая ячейка рассматривается как нечисло при числовой сортировке. Изначально в нижней части каждой из 2 таблиц ниже есть пустая ячейка.
Автоматическое определение типа данных непоследовательно. Всегда лучше добавлять к data-sort-type
заголовку столбца.
Отдельный символ валюты или отдельный буквенный символ в настоящее время не изменяет то, что скрипт определяет через первые 5 ячеек в столбце: числовой порядок.
Знак процента не меняется от определения числового порядка. Комбинации чисел со знаками минус или деление внутри них по-прежнему определяются как числа. Однако их числовой порядок определяется числом перед знаком минус или деление.
Знак плюс в пустой ячейке среди первых 5 ячеек нарушает числовую сортировку по умолчанию. Как и знак плюс после числа , если оно находится в одной из первых 5 ячеек в столбце.
Большинство этих проблем теперь можно исправить, вручную указав режим сортировки столбца, поместив его data-sort-type=number
в заголовок столбца. См. примеры таблиц выше и ниже. См. также meta:Help:Sorting#Sort modes и раздел о принудительном выборе режима сортировки столбца.
Для работы data-sort-type=number
необходимо находиться в ячейке заголовка , содержащей значок сортировки. В таблицах с многострочными заголовками значок сортировки будет находиться в самых нижних ячейках заголовка.
Ссылки <ref>...</ref>
после числа в любой ячейке (включая первые пять ячеек) больше не нарушают числовую сортировку.
Текст нарушает числовую сортировку по умолчанию, если он находится до или после числа в одной из первых 5 ячеек столбца.
Двоеточие само по себе (например, для обозначения отсутствия данных) в одной из первых 5 ячеек столбца нарушает числовую сортировку.
Даже при использовании data-sort-type=number
в заголовке столбца текст перед числом в любой ячейке нарушает числовую сортировку этой ячейки. Текст после числа не является проблемой, если порядок сортировки столбца указан с помощью data-sort-type=number
.
Начальные нули не нужны для числовой сортировки столбца. Если это так, то это означает, что столбец сортируется в алфавитном порядке. Найдите в первых 5 ячейках что-нибудь, кроме чисел, и исправьте эти ячейки в соответствии с этими правилами. А еще лучше, добавьте data-sort-type=number
в заголовок столбца. Последующее редактирование другими редакторами не нарушит числовую сортировку.
Любой дефис в пустой ячейке в одной из первых 5 ячеек столбца нарушает числовую сортировку столбца по умолчанию.
Тире перед числом не нарушает числовую сортировку.
Дефисы допускаются в любом месте ячеек, если data-sort-type=number
они используются в заголовке столбца.
Шаблон {{ N/A }} в первых пяти ячейках столбца непоследователен в своем влиянии на автоматическое определение типа данных. Всегда лучше указать a data-sort-type
в заголовке столбца.
" c. " (circa, означает "приблизительно") часто встречается в столбцах чисел и дат. Это часто нарушает сортировку. Добавление data-sort-type="..."
к заголовку столбца не позволяет поставить c. перед числом.
Использование шаблона {{ circa }} исправляет сортировку, когда c. находится перед числом, но только если sortable=yes
параметр добавлен в шаблон. См.: Template:Circa/doc/sortable .
{{circa|NUMBER|sortable=yes}}
В качестве альтернативы, c. можно поставить после числа. Или его можно переместить в другой столбец.
data-sort-type=number
в заголовок столбца. Это также предотвращает проблемы, вызванные последующим редактированием.Тире после числа больше не нарушает числовую сортировку столбца по умолчанию. Поэтому теперь работает диапазон (30–40).
Знак «плюс» после числа нарушает числовую сортировку по умолчанию, если он находится в одной из первых 5 ячеек столбца.
Знак плюс в пустой ячейке нарушает числовую сортировку столбца по умолчанию. То есть, если ячейка является одной из первых 5 ячеек в столбце.
Вы также можете использовать 2 столбца для диапазона, если хотите отсортировать по нижнему или верхнему диапазону. Если вы хотите, чтобы верхний диапазон сортировался лучше всего, все ячейки должны быть заполнены числами. Например, вы можете использовать одно и то же число и в нижнем, и в верхнем диапазоне. Вы также можете добавить знак плюс после числа в верхнем диапазоне.
Первый набор таблиц ниже не сортируется правильно, за исключением нижнего диапазона, в котором нет усложняющих факторов. Обратите внимание, что "400+" и "400 +" не сортируются правильно в своих столбцах. Эти таблицы не имеют data-sort-type=number
в заголовках столбцов.
data-sort-type=number
исправил сортировку в таблицах ниже. Обратите внимание на сортировку 400+ и 400 + .
Шаблон {{ Date table sorting }} или {{ dts }} будет работать с любой комбинацией лет, месяцев, дней. Смотрите пример здесь . Смотрите документацию шаблона и раздел ниже для получения дополнительной информации.
Любая сортировка, включающая названия месяцев, может не работать для зарегистрированных пользователей, которые изменили настройку языка по умолчанию "en - English" в Special:Preferences (сообщается на phab:T126744). Это касается относительно небольшого числа пользователей английской Википедии и может быть проигнорировано.
Сортировка по году в столбце работает, пока год является первым текстом в каждой ячейке столбца. Добавление data-sort-type=date
к заголовку столбца не меняет этого.
Текст после года в ячейке допустим . Например, "FY" ( финансовый год ) должен идти после года. Ссылки после года допустимы. Поставьте "c." после года или вместо этого используйте "est." после года.
Любой тире в пустой ячейке нарушает сортировку по годам в столбце. Тире после года допустимы.
В отличие от числовой сортировки шаблон {{ N/A }} в любой ячейке столбца года не нарушает сортировку года в этом столбце.
Если есть проблемы с сортировкой по годам, проверьте наличие ячеек в столбце с текстом или тире (любого типа) в качестве первого элемента в ячейке. Удалите этот текст или тире, и столбец должен сортироваться правильно.
Сортировка по дате не работает для столбцов, в которых перед месяцем указан только год (без дня).
Добавление data-sort-type=date
или data-sort-type=isoDate
к заголовку столбца не помогает. Щелкните каждый заголовок столбца пару раз в таблицах ниже, чтобы увидеть. Обратите внимание, что заголовок столбца data-sort-type=isoDate
может сортироваться правильно в некоторых браузерах, но это ненадежно.
Год и месяц в числовой форме (ГГГГ-ММ) работают сdata-sort-type=isoDate
(см. соответствующий раздел ниже).
Сортировка по дате не работает для столбцов, в которых перед годом указан только месяц (без дня). Добавление data-sort-type=date
в заголовок столбца не помогает.
Это показывает, что любая полная дата работает без data-sort-type=date в таблице. Месяц-день-год или день-месяц-год. Если число для дня отсутствует, сортировка дат нарушается. Сокращенные месяцы тоже работают. Год должен быть в конце, и число не может использоваться для месяца. В любом случае сортировка дат будет нарушена.
Сортировка по дате работает правильно в первых двух таблицах ниже. Годы до 100 (например, 99 год) прерывают сортировку.
data-sort-type=date в заголовке столбца даты позволяет сортировке по дате работать для всех записей, не пропускающих номер дня. Поэтому хорошо добавить его на случай, если редакторы забудут номера дней для некоторых записей. Это можно будет исправить позже. Остальные даты будут правильно отсортированы по дате. Проверьте сортировку по дате ниже. В некоторых записях ниже отсутствует номер дня. Они оказываются вверху или внизу списка data-sort-type=date после сортировки. Список ниже без data-sort-type=date не сортируется по дате.
Две таблицы ниже идентичны, за исключением добавления data-sort-type=date во вторую таблицу.
{| class = "wikitable sortable" |- ! data-sort-type = date | Полные даты.<br><code>data-sort-type=date</code>
Сортировка не работает для этого порядка дат.
Добавление любого типа сортировки данных в заголовок столбца не помогает. Смотрите примеры ниже.
См.: Дата ISO . "±YYYY-MM-DD", с 1–4 цифрами для года "YYYY" от -9999 до 9999. Год сам по себе допустим. Как и год, за которым следует только месяц. Допускается некоторая информация после даты. Например, ссылки после даты. Чтобы сэкономить место в заголовке, вы можете добавить всплывающую подсказку к заголовку столбца "Дата" вместо "год, месяц, день" под ним. См.: Шаблон:Подсказка . Всплывающие подсказки были добавлены в таблицы в этом разделе.
См. раздел выше: #Примеры автоматического определения типа данных. Первые 5 ячеек в столбце. Автоматическое определение типа данных непоследовательно. Вот почему сортировка даты ISO лучше всего работает с data-sort-type=isoDate
добавлением в заголовок столбца. Это также позволяет избежать проблем, когда для месяца или дня используется только одна цифра. Начальные нули больше не нужны. Все таблицы ниже добавили data-sort-type=isoDate
в заголовки столбцов.
Не забудьте оставить пробел в викитексте перед годами, которые являются отрицательным числом. В противном случае, |-
будет использоваться как форматирование таблицы вместо |
.
" c. " означает circa (приблизительно). " c. " перед датой нарушает сортировку в первой таблице. Использование шаблона {{ circa }} исправляет сортировку, но только если sortable=yes
параметр добавлен в шаблон. См.: Template:Circa/doc/sortable . См.: #c. для circa.
{| class = "wikitable sortable" |- ! data-sort-type = isoDate | {{Tooltip|Дата|Год, месяц, день}}<br><small>{{tl|circa}} используется.<br>Сортировка работает.</small> |- | -90 |- | {{ circa | sortable = yes | 90 }} |- | 90-7-13 |- | 90-12-5 |- | 1011-08-01 < sup style = "color:gray" > [2] </ sup > |- | {{ circa | sortable = yes | 207-11 }}< sup style = "color:gray" > [1] </ sup > |}
Добавление BCE, CE, BC и т. д. после даты не нарушает сортировку. Но добавление AD перед датой нарушает сортировку. Проверьте добавления до и после дат. Добавления перед датой почти всегда являются проблемой.
Из этой версии Списка зарегистрированных наблюдений НЛО . В разделе "Древность" есть таблица с некоторыми скрытыми заметками. Адаптировано здесь:
Для сортировки дат до 1000 г. н.э. вам понадобится одно из следующего:
|data-sort-value="XXXX"
- Год. Используйте ведущие нули и отрицательные для BC.{{Date table sorting|X}}
- Используйте отрицательное значение для BC. См.: {{ Сортировка таблицы дат }} .{{circa|sortable=yes|lk=no|X}}
- {{ circa }} только для нашей эры.Столбец даты, на который он ссылается, был вытащен из более крупной таблицы, упрощен и помещен ниже. Он сортируется правильно. Посмотрите на викитекст, чтобы увидеть методы, обсуждаемые в скрытых заметках.
{| class = "wikitable sortable" |- ! Дата |- | data-sort-value = -1440 | ок. 1440 г. до н. э. |- |{{ Сортировка таблицы дат | -218 }} |- |{{ Сортировка таблицы дат | -76 }} |- |{{ Сортировка таблицы дат | -7 }} |- | data-sort-value = 0065 | 65 г. н. э. |- | data-sort-value = 0196 | 196 г. н. э. |- | data-sort-value = 0740 | ок. 740 г. н. э . |}
Самый простой способ форматирования сортируемых дат в таблице — использовать шаблон {{ Date table sorting }} . Перенаправление: {{ dts }}
Его можно использовать со многими смешанными форматами дат. Обратите внимание на множество используемых здесь форматов . Для получения дополнительной информации см . Шаблон: сортировка таблицы дат .
См. примеры таблиц ниже. Все они сортируются правильно. Викитекст для первой записи в каждой таблице в первой строке отображается в заголовке таблицы.
Примечание: Ни один из столбцов таблицы не использует data-sort-type=
модификатор. Использование data-sort-type=
может иногда нарушать сортировку при использовании с шаблоном. Если вы хотите, чтобы столбец был уже, вы можете использовать сокращения месяцев ( параметр abbr=on ). Вы также можете разрешить перенос текста ( параметр nowrap=off ). Используйте format=dmy или format=mdy и т. д. для управления форматом вывода, если это необходимо.
{| class = "wikitable sortable" |- ! Даты.<br>Различные форматы |- | {{ dts | Янв 1980 }} |- | {{ dts | Авг 1981 }} |- | {{ dts | 1992 }} |- | {{ dts | 28 Август 1993 }} |- | {{ dts | 1990 | 4 | 27 }} |- | {{ dts | 1989 | 8 | 8 }} |}
Для лет до нашей эры !9937-09-23
можно использовать -0062-09-23 (62 г. до н.э.): просто вычтите год до нашей эры из 10 000.
Сортировка дат работает путем форматирования дат таким образом, чтобы их можно было сортировать по числам. Например:
yyyy mm dd
или
2001 07 21
...для 21 июля 2001 г. display:none
Стиль можно использовать для скрытия сортируемой числовой даты перед отображаемой датой. См. викитекст таблицы чуть ниже. В качестве альтернативы, {{ Date table sorting }} делает это автоматически и рекомендуется в большинстве случаев.
Для получения сортируемых дат можно использовать 7 июля 2012 г. и т. д. Пример, включающий одну дату с другим форматом отображения:
Результат визуализации
Источник Вики
{| class = "wikitable sortable" |- ! Date |- | {{ dts | 2012-01-07 }} |- | {{ dts | 2012-05-07 }} |- | {{ dts | 4 июля 2012 }} <!-- Убедитесь, что работает альтернативный формат отображения даты --> |- | {{ dts | 2012-07-07 }} |}
Добавление цвета с помощью сокращенного свойства [a] "background:...;"
в заголовке может привести к тому, что этот столбец потеряет кнопку сортировки – см. phab:T33755. Пример с заголовком «Имя»:
Используйте более конкретные слова
, чтобы все работало правильно. Пример:style="background-color:...;"
{| class = "wikitable sortable" |- ! style = "background-color:navajowhite" | Имя ! style = "background-color:navajowhite" | [[Фамилия]] ! style = "background-color:navajowhite" | Рост |- | Джон | Смит | 1,85 |- | Рон | Рэй | 1,89 |- | Марио | Бьянки | 1,72 |- class = "sortbottom" | colspan = "2" | Среднее: | 1,82 |}
Создает следующую сортируемую таблицу:
Иногда записи дополняются слева для выравнивания. Это может негативно повлиять на их сортировку.
Эффект отступа слева с неразрывными пробельными кодами
, которые отображаются как пробелы, зависит от браузера: в IE они (в отличие от настоящих пробелов) учитываются при сортировке как начальные пробелы, поэтому в списке чисел с текстом (для которого применяется режим алфавитной сортировки) их можно использовать для выравнивания количества символов перед явным или неявным десятичным разделителем. Однако в Firefox они игнорируются при сортировке.
См. также Обсуждение:Список штатов и территорий США по численности населения/Архив 1#Сортируемая таблица .
Пример:
Formatnum можно комбинировать с padleft :
Целое число
{{formatnum:{{padleft:299792458|16|0}}}}
gives:
Настоящий
{{formatnum:{{padleft:{{#expr:((299792458.056 - .5) round 0)}}|16|0}}}}.{{padleft:{{#expr:(1000000*(299792458.056 - ((299792458.056 - .5) round 0))) round 0}}|6|0}}
gives:
Текст, нежелательный для сортировки, но необходимый для отображения:
Текст, нежелательный для отображения, но необходимый для сортировки:
Объединив эти два варианта, мы можем отображать текст независимо от текста, используемого для сортировки, полностью скрывая последний и полностью помещая первый в отдельный столбец (в режиме сортировки по дате и числовом режиме сортировки) или в тот же столбец после скрытого текста (в алфавитном порядке). Полное размещение отображаемого текста в отдельном столбце может выглядеть некрасиво, если это не делается последовательно для всего столбца, а только для элементов, которые этого требуют (например, если большинство записей в столбце являются отдельными числами, но некоторые являются диапазонами).
Чтобы включить сортировку ячеек с помощью Template:Increase , Template:Decrease или Template:Steady , добавьте ключ сортировки, например 2, 1 или . Чтобы исправить существующую таблицу, используйте Поиск и замену (правый значок на панели инструментов «Дополнительно») с выбранным параметром Обрабатывать строку поиска как регулярное выражение для выполнения следующих замен:{{increase|2}}
{{decrease|-1}}
{{steady|0}}
Раньше было сложно поддерживать порядок таблиц и сохранять правильную нумерацию. Теперь это не так. Шаблон:Статические номера строк перенумеровывает номера строк после каждого изменения порядка строк. И после каждого добавления или удаления строк.
Есть быстрые и медленные способы сделать это. К сожалению, в визуальном редакторе нет быстрого способа быстро упорядочить таблицу по алфавиту. Вы можете вручную перемещать строки по одной за раз. Щелкните по ячейке в строке. Затем щелкните по стрелке, которая появляется слева от строки. Затем щелкните «переместить выше» или «переместить ниже» по мере необходимости. Если это глючит или не работает, строки можно перемещать в викитексте, вырезая и вставляя строки в викитексте.
Быстрый способ — запустить бесплатный LibreOffice Calc или другую программу для работы с электронными таблицами . Чтобы узнать, как это сделать, перейдите в раздел Help:Creating tables#Sort. Spreadsheet & VE . Для получения дополнительной информации см. Commons:Convert tables and charts to wiki code or image files.
Есть еще один способ упорядочить таблицу по алфавиту, и он сохраняет все стили и ссылки флагов, которые может удалить электронная таблица. Можно использовать NoteTab Light (бесплатная версия NoteTab). Но чтобы это работало, весь викитекст для строки должен быть на одной строке. Это означает, что ячейки в этой строке разделены двойными чертами ||
.
Чтобы отсортировать список по алфавиту по первому столбцу, вставьте викитекст таблицы на новую страницу NoteTab Light. Выберите строки, которые вы хотите отсортировать по алфавиту. Затем нажмите на меню «изменить», затем «строки», затем «сортировать» и затем «по возрастанию». Это поместит «A» наверху, а «Z» внизу.
Затем верните |-
(wikitext для строки) между каждой строкой. Сделайте это через поиск и замену, заменив ^p
на^p|-^p
^p
— это базовый код текстового редактора для переносов строк в NoteTab.|-
это викитекст для строки таблицы.Если между записями есть пустые строки, замените их ^p^p
на^p|-^p
Скопируйте викитекст и вставьте его обратно в статью. Сохраните страницу.
Хорошей идеей будет хранить списки и таблицы в каком-то начальном неслучайном порядке сортировки. Теперь неважно, какой метод вы выберете. Шаблон:Статические номера строк будут автоматически поддерживать нумерацию строк, независимо от того, какие изменения вы внесете в порядок строк.
Вы можете быстро удалить ячейки столбцов рангов. Теперь это стало намного проще с редактором таблиц в VisualEditor . Щелкните заголовок в столбце, который вы хотите удалить. В верхней части столбца появится стрелка. Щелкните стрелку, а затем «удалить столбец».
Затем позвольте Template:Static row numbers создать столбец номеров строк.
Есть темы Phabricator, в которых запрашивается способ легкого добавления статических номеров строк в таблицы. См. phab:T42618. Он заменяет phab:T42634.
В то же время есть Template:Static row numbers . Теперь его легко использовать. Это шаблон для автоматического добавления номеров строк в сортируемые таблицы. Номера строк не будут сортироваться при сортировке столбцов данных. Возможное примечание для добавления над таблицей: Номера строк являются статическими. Другие столбцы сортируются. Это позволяет ранжировать любой столбец.
См. список статей, включающих трансляции . См. количество трансляций.{{static row numbers}}
Он имеет несколько подшаблонов, которые работают с ним. Перейдите к {{ static row numbers }} для получения более подробной информации.
Чтобы увидеть используемый шаблон: Список штатов и территорий США по уровню тюремного заключения и исправительного надзора .
Обратите внимание, что style=max-width:Xem
выборочно используется для сужения столбцов с многословным текстом заголовка без использования разрывов <br>. Разрывы заголовков раздражают людей, использующих программы чтения с экрана, из-за пауз.
Избирательное использование max-width позволяет названиям штатов растягиваться и оставаться на одной строке, если экран достаточно широкий. Это облегчает сканирование вниз или поперек строк. Однако, когда экран становится все уже и уже, названия штатов в конечном итоге будут переноситься. Это хорошо для мобильных телефонов. Используйте настройки единиц em вместо px . Единицы em увеличиваются в ширину по мере увеличения размера шрифта.
Обязательно проверьте как мобильные, так и десктопные представления (ссылки внизу страницы). Проверьте, не присвоен ли строкам заголовков номер строки. Также проверьте, не слишком ли узкие настройки максимальной ширины . Для мобильных представлений может потребоваться немного большая настройка максимальной ширины для некоторых столбцов. А разные браузеры для настольных компьютеров и разные настройки для них могут привести к тому, что некоторые настройки максимальной ширины приведут к тому, что текст заголовка столбца будет перекрываться в соседнем столбце. Поэтому обычно полезно добавить несколько дополнительных единиц em к настройкам максимальной ширины.
data-sort-type:text — Отсортируйте следующую таблицу, чтобы увидеть пример алфавитного порядка сортировки.
Обратите внимание, что сортировка нечувствительна к регистру: записи из двух символов, такие как A1, показывают, что A и a находятся на одной позиции.
data-sort-type:number — отсортируйте следующую таблицу, чтобы увидеть пример числового порядка сортировки.