⟵ сюдатуда ⟶
  • Учебный курс
  • Создание простых таблиц и полей
  • Коды базовый уровень
  • Селекты и связь между таблицами
  • Настройки таблиц базовый уровень
  • Поле сортировки, Обратный порядок и Основное поле
  • Разделение на страницы
  • Параметры одновременного доступа
  • Ручная сортировка строк
  • Префильтры базовый уровень
  • Условное форматирование базовый уровень
  • Коды действия базовый уровень
  • Использование всплывающих окон
  • Циклы базовый уровень
  • Роли и пользователи в web
  • Коды продвинутый уровень
  • Коды действий продвинутый уровень
  • Префильтры продвинутый уровень
  • Настройки полей и таблиц продвинутый уровень
  • Циклы продвинутый уровень
  • Форматирование продвинутый уровень
  • Селект-дерево
  • Выполнения кода действия по расписанию
  • Печать и отправка email
  • Нотификации
  • Взаимодействие по API
  • Адаптивность и секции
  • Графики
  • Вид таблицы панелями и поворот строчной части
  • Анонимные таблицы для неавторизованного доступа
  • Внешние формы для сбора информации
  • Обновление и бэкапирование
  • Дублирование схем и перенос таблиц между базами
  • Консольная утилита bin/totum
  • Ручная сортировка строк

    nsorting

    VK Video

    Смотреть на VK video ⟹

    Можно ли сортировать строки в таблице вручную?

    Да, для этого нужно включить сортировка по полю порядок.

    Как сортировать описано здесь.

    Как меняется порядок расчета строк при включенном «порядок по полю сортировки»?

    Строки в строчной части при одновременном изменении по умолчанию рассчитываются в порядке возрастания их id. Но если включена сортировка по полю порядок — то в порядке возрастания n.

    В каком техническом поле записан порядок строк?

    Поле n. Номер сортировки строки можно получить как #n или select ... field: 'n'. Если ручная сортировка строк выключена, то такие обращения будут возвращать ошибку.

    Когда идет изменение порядка, то n переназначаются.

    Когда идет добавление в конец, то n идет с шагом 1.

    Когда идет добавление между строк, то втавляемая строка получает дробное n.

    Там используется большое дробное число, но если у вас ситуация в которой вставка всегда идет между строк, то тогда надо на задание по расписанию (о них будет позже) поставить функцию normalizeN — она убирает эти дробные хвосты.

    Зачем нужен автоматический пересчет при изменении порядка?

    Параметр автоматический пересчет при изменении порядка используется, когда у вас строки ссылаются в кодах на предыдущие — тогда при сохранении нового порядка ищется самый ранний n и все строки с большим n будут пересчитаны

    Пример кода считающего последовательную нумерацию строк:


    =:
    if(condition: $sel = ""; then: 1; else: $calc) calc: $sel + 1 // у строки добавления #id = "" — поэтому делаем еще проверку ~sel: if(condition: #id = ""; then: $s1; else: $s2) s1: select(table: $#ntn; field: 'id'; order: 'n' desc) s2: select(table: $#ntn; field: 'id'; where: 'n' < #n; order: 'id' desc)