Поле сортировки
Поле коллекции: сортировкаCommunity Edition+Введение
В NocoBase поле сортировки (Sort) используется для хранения значения порядка записей в таблице данных. Оно часто применяется для сортировки записей перетаскиванием в таких блоках, как таблица и канбан.
Поле сортировки поддерживает как сортировку без группировки, так и сортировку после группировки. Сортировка по группам подходит для сценариев, в которых записи сортируются независимо внутри каждой группы, например для распределения студентов по классам или задач по статусам на канбан-доске.
Поскольку поле сортировки является полем той же таблицы, при сортировке по группам одна и та же запись не может одновременно находиться в нескольких группах.
Установка
Поле сортировки предоставляется встроенным плагином и не требует отдельной установки.
Создание поля сортировки
На странице «Configure fields» таблицы данных нажмите «Add field» и выберите «Сортировка», чтобы создать поле сортировки.

При создании поля сортировки NocoBase инициализирует значения сортировки:
- Если сортировка по группам не выбрана, значения инициализируются на основе поля первичного ключа и поля даты создания
- Если выбрана сортировка по группам, данные сначала группируются, а затем значения инициализируются на основе поля первичного ключа и поля даты создания
Если при создании поля не удаётся инициализировать значения сортировки, поле сортировки создано не будет. Если в определённом диапазоне одна запись перемещается с позиции A на позицию B, значения сортировки всех записей в диапазоне AB изменяются; если для одной из них операция завершается ошибкой, перемещение не выполняется, и значения сортировки связанных записей не изменяются.
Создание поля сортировки без группировки
Ниже приведён пример создания поля sort1, в котором сортировка по группам не используется.

Значения поля сортировки для всех записей инициализируются на основе поля первичного ключа и поля даты создания.

Создание поля сортировки по группам
Ниже приведён пример создания с группировкой по Class ID поля sort2.

В этом случае все записи таблицы данных сначала группируются по Class ID, а затем для них инициализируются значения поля сортировки.

Сортировка перетаскиванием
Поле сортировки в основном используется для сортировки записей различных блоков перетаскиванием. В настоящее время сортировка перетаскиванием поддерживается в блоках таблицы и канбан-доски.
- Использование одного поля сортировки в нескольких блоках может нарушить существующий порядок
- Для сортировки строк таблицы перетаскиванием нельзя выбрать поле сортировки с правилом группировки
- В блоке таблицы связи «один-ко-многим» внешний ключ можно использовать для группировки
- В настоящее время только блок канбан-доски поддерживает сортировку перетаскиванием по группам
Сортировка строк таблицы перетаскиванием
В блоке таблицы можно использовать поле сортировки для изменения порядка записей перетаскиванием.

В блоке таблицы связей также можно сортировать записи пе ретаскиванием с помощью поля сортировки.
В блоке связи «один-ко-многим», если выбрать поле сортировки без группировки, в сортировке могут участвовать все записи; если сначала сгруппировать записи по внешнему ключу, а затем отсортировать, правило сортировки повлияет только на данные текущей группы. Итоговый результат может выглядеть одинаково, но диапазон записей, участвующих в сортировке, различается.
Сортировка карточек канбан-доски перетаскиванием
В блоке канбан-доски можно использовать поле сортировки для изменения порядка карточек перетаскиванием.

Описание правил сортировк и
Перемещение между записями без группировки
Предположим, имеется набор данных:
Когда 5 перемещается вперёд на позицию 3, изменяются только номера 3, 4 и 5. Запись 5 занимает позицию 3, а записи 3 и 4 сдвигаются на одну позицию назад.
Затем, если переместить 6 назад на позицию 8, запись 6 занимает позицию 8, а записи 7 и 8 сдвигаются на одну позицию вперёд.
Перемещение между разными группами
При сортировке по группам, когда запись перемещается в другую группу, изменяется и группа, к которой она относится. Предположим, имеются две группы данных:
Когда 1 перемещается после 6, её группа также изменяется с A на B.
Изменение порядка не зависит от данных, отображаемых в интерфейсе
Предположим, имеется набор данных:
В интерфейсе отображаются только:
Когда 1 перемещается на позицию 9, позиции промежуточных записей 2, 3, 4, 5, 6, 7 и 8 также изменяются.
В итоге интерфейс отображает:
Связанные ссылки
- Поля таблицы данных — сведения о типах полей и сопоставлении полей
- Блок таблицы — сортировка перетаскиванием в таблице
- Блок канбан-доски — сортировка перетаскиванием на канбан-доске

