Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

5 Июль 2022, 06:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: [РЕШЕНО]Список. Base. Как выделить один из элементов списка программно?  (Прочитано 310 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ириминаге
Всем бобра!
Форумчанин
***
Offline Offline

Сообщений: 63


« Стартовое сообщение: 6 Июнь 2022, 14:38 »

Здравствуйте! Есть Форма в Base. В Форме есть поле ввода и список. Данные в список добавляются SQL-запросом в свойствах. Надо выделить конкретный пункт в списке в зависимости от данных в поле ввода. Допустим, я напишу "5" и пятый пункт в списке должен отобразиться. Питоньяк ответа не дал, а xray тоже не знает, как это делать, даже про озвученную на форуме конструкцию getcurretcontroller не знает. Может, кто-нибудь подскажет, как это можно сделать?
« Последнее редактирование: 6 Июнь 2022, 16:23 от Ириминаге » Записан

Он верил в Мир и Здравый Смысл,
В себя, в людей, в любовь, в науку!
Но кто-то Кафку положил,
В его протянутую руку...
economist
Форумчанин
***
Offline Offline

Сообщений: 1 695


« Ответ #1: 6 Июнь 2022, 15:40 »

Способ без макросов: в Combobox (Поле со списком) вводим элементы (или пишем запрос), возвращающий пронумерованные элементы:
1. Земля
2. Луна
...
5. Нептун

Теперь пишем "5" и сразу получаем отображение и выделение нужного элемента в поле со списком.
Записан

Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...
Ириминаге
Всем бобра!
Форумчанин
***
Offline Offline

Сообщений: 63


« Ответ #2: 6 Июнь 2022, 16:22 »

Ах, если б мне нужен был только миллион(С) Граф Монте-Кристо.
На самом деле, я вспомнил про фокусы с фокусом и мне это помогло. Даже проще получилось: прежде я находил нужную позицию в списке и не мог это передать списку. Поэтому так сформулировал задачу. Решение получилось такое:

Код:
cAdr = cForm.getByName("PrnAdr")
cControl=  ThisComponent.CurrentController
ccAdr=cControl.getcontrol(cAdr)
ccAdr.selectItem(cRes.getstring(4),true)

вместо cRes.getstring(4) может быть любой текст, из того же поля ввода.
Записан

Он верил в Мир и Здравый Смысл,
В себя, в людей, в любовь, в науку!
Но кто-то Кафку положил,
В его протянутую руку...
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!