независимая нумерация в libreofficebase

Автор Gal, 19 марта 2025, 15:20

0 Пользователи и 1 гость просматривают эту тему.

Gal

Добрый день.
У меня есть таблица. мне нужно сделать нумерацию, просто от 1 до последней строчки, которая никак не привязана к таблице в БД, как это сделать?

economist

Просто - это значит ввести эти цифры ручками: 1, 2 итд. А правильно - изменить св-ва Формы, ее SQL-запрос, который будет выводить номер строки. Их скрина непонятно на чем основана Форма, что за движок (HSQL?) 
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

StanleyTucci

Форма у меня привязана к таблице, на форме данные из таблице. Моя оригинальная таблица выглядит так:

Я хочу, чтобы у меня была независимая нумерация слева, я уже изощерился и попытался через триггеры сделать, НО при сортировке в таблице эта нумерация сбивается.
на следующих двух картинках вы можете видеть, как это сбивается:


Я в результате хочу получить независимую нумерацию как в Calc, Excel и тд.

Вариант вбить руками не получается, поскольку если пытаешься вставить то же числовое/текстовое поле, даже с настройками "для чтения - нет, доступно - да", оно все равно для ручной работы не доступно.

sokol92

Обычно SQL-запросы умеют выдавать порядковый номер записи результата. Например, в PostgreSQL для этого испольуется оконная функция row_number().
Владимир.

StanleyTucci

Не очень понимаю идею. Да, она реализовывается в таблице в mysql

Но стоит мне сделать сортировку по другим данным, эта нумерация сбивается.

мне нужна именно независимую нумерацию, как во всяких экселях

mikekaganski

Цитата: StanleyTucci от 20 марта 2025, 16:48мне нужна именно независимую нумерацию, как во всяких экселях

Подскажите, как во всяких экселях сделать сортировку по другим данным, просто щёлкнув по заголовку столбца? Если мне не изменяет память, то для этого там надо физически переместить содержимое одних ячеек в другие. При этом сами ячейки не меняют положение, но меняют содержимое; эта процедура редактирует документ.

А что здесь? Щелчок по заголовку не меняет данные в базе. Просто показ меняется.

Это не всякий эксель; и если хочется как там, то и делайте как там: захотелось "сделать сортировку по другим данным" - Вы и делаете это через редактирование запроса:

из
ROW_NUMBER() OVER (ORDER BY idequipment_table)в
ROW_NUMBER() OVER (ORDER BY commentary)
С уважением,
Михаил Каганский

economist

Если форма всегда фикс размеров - можно номера строк сделать текстовыми Labels на сером фоне слева от XGRID, подобрав размер шрифта и интервал. Тогда пересортировка их не сдвинет.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

Цитата: economist от 21 марта 2025, 08:47можно номера строк сделать текстовыми Labels на сером фоне слева от XGRID, подобрав размер шрифта и интервал
... и удивляться проблемам размещения на разных OS и при разных DPI :)
С уважением,
Михаил Каганский

StanleyTucci

Цитата: economist от 21 марта 2025, 08:47Если форма всегда фикс размеров - можно номера строк сделать текстовыми Labels на сером фоне слева от XGRID, подобрав размер шрифта и интервал. Тогда пересортировка их не сдвинет.
я вот думала о чем-то подобном, может таблицу с нумерацией рядом поставить или что-то такое провернуть, я не знаю, что уже придумать

StanleyTucci

я насколько понимаю, в саму таблицу я не вставлю поле, которое будет со своими данными и которое можно заблокировать от сортировки