Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994

Комбобокс с выгрузкой ключа и значения из БД

11.09.2020, 23:02. Показов 2786. Ответов 8

Студворк — интернет-сервис помощи студентам
Привет !
Как мы знаем, в бд есть таблицы справочники, и таблицы куда мы вставляем значение (foreign keys) .
К примеру на самом примитивном и простом уровне есть таблица товары, и есть таблица продажи, которые соединены по общему ключу. Пусть это будет код товара, поле product_id (primary key) в главной таблице, и такое же поле product_id (foreign key) в "подчиненной" таблице продажи.
Как мы видим, в "подчиненной" таблице продажи хранятся значения ключей из главной.

Теперь к Java:

Есть грид TableView, хочу в нем на уровне ячейки организовать комбобокс (ComboBoxTableCell).
делается это очень просто:
1) создается ObservableList содержащий коллекцию к примеру чисел , пусть это будут коды товаров из таблицы товары
Java
1
ObservableList<Integer> comboValues = FXCollections.observableArrayList(1, 2, 3,4,55,66,77);
2) Дальше - на уровне грида TableView (который являет собой выборку из таблицы продажи, "подчиненной" по отношению к товары мы на уровне ячейки определяем способ редактирования, фабрику:
Java
1
product_id.setCellFactory(ComboBoxTableCell.forTableColumn(comboValues));
Но дело в том, что комбобокс принимает только числовые значения ключей из таблицы товары.

Подскажите пожалуйста, как хранить в комбобоксе (ключ-значение), чтобы перед глазами выводить в гриде текстовые значения, а подставлять при изменении ключи?

Ну к примеру по аналогии с гридом в C# . Там есть отдельные свойства у комбобокса, типа ValueMember и DisplayMember.

Добавлено через 7 минут
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.09.2020, 23:02
Ответы с готовыми решениями:

Значения из табл в комбобокс
Здравствуйте, есть ComboBox, который берет итемы из таблицы помещения. Подскажите как сделать, что бы показывало только свободные...

Уникальные значения в комбобокс
Всем привет. Возникла следующая проблема. Есть три комбобокса, ссылающиеся на один список. При этом необходимо, чтобы при выборе одного...

Выгрузить значения комбобокс на лист через VBA
Выгрузить значения комбобокс на лист vba туда засунул, а обратно не пойму как. Но догадываюсь, что без цикла не обойтись ...

8
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994
15.09.2020, 18:13  [ТС]
После анализа интернета на возможные решения данного вопроса (они есть, но очень громоздкие, так как пытаются все впихнуть непосредственно на обработку действий данного комбобокса - прорисовка дополнительных панелей ,размещение на панели списка элементов итд итд. ) пришел к выводу, что что-то постоянно упускали из вида.
Можно просто в классах с POJO создать дополнительные поля типа текст, которые в свою очередь при инициализации своего экземпляра тащат текстовое значение в сам TableView из заранее подготовленного ObservableList из таблицы справочника.
То есть грузить в основную таблицу с комбобоксом текст. Источником данных комбобокса сделать текст. И только при отправке данного текста с комбобокса назад в экземпляр класса подставлять числовой ключ нового значения и после этого отправлять данные на сервер.
Это сэкономит кучу времени по сравнению с действующими примерами из сети.
Кто озадачен такой же проблемой, пишите, сваяю пример, ларчик просто открывался. Похоже эта ветка по Java умирает, что то нет экшна тут, последние посты как монологи
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
16.09.2020, 09:59
Цитата Сообщение от Сергей1980 Посмотреть сообщение
что то нет экшна тут
никто не пишет UI на джава.
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994
16.09.2020, 13:58  [ТС]
Это печально, потому что инструментарий типа openjdk, javafx sdk и конструктор бесплатные. Себестоимость нулевая. Плюс все это можно пересобрать сразу и под винду, линукс, мак.
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
16.09.2020, 14:21
Цитата Сообщение от Сергей1980 Посмотреть сообщение
Плюс все это можно пересобрать сразу и под винду, линукс, мак.
а можно написать на JS и ничего пересобирать не надо. Будет работать везде, где есть браузер. Себестоимость так же нулевая. Возможности куда шире чем во всяких javafx
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994
16.09.2020, 17:45  [ТС]
Под веб можно разработать и написать ,согласен. Но тут надо понимать что js пока плохо работает с FSO на компьютере пользователя и программами типа офисных приложений (Excel,Word и проч.). Да и код там весь наружу.
Десктоп не так уж и плох.
Но это я так, понудеть ))
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
17.09.2020, 17:45
никто не говорит писать на JS полностью. На нём надо писать только фронт (JavaFX это тоже фронт если что). Бек на джаве и тут отличий нет никаких т.к серверная джава может работать с ОС без проблем.
0
 Аватар для Сергей1980
547 / 377 / 16
Регистрация: 17.12.2009
Сообщений: 994
17.09.2020, 19:50  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
никто не говорит писать на JS полностью. На нём надо писать только фронт (JavaFX это тоже фронт если что). Бек на джаве и тут отличий нет никаких т.к серверная джава может работать с ОС без проблем.
Да никто и не спорит)
Надо действительно попробовать поставить сервлет и потестить работу. Никогда раньше не делал этого.
Что нужно поставить , tomcat?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
18.09.2020, 08:02
Лучший ответ Сообщение было отмечено Сергей1980 как решение

Решение

Spring boot
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2020, 08:02
Помогаю со студенческими работами здесь

Добавление значения не из списка в комбобокс с несколькими столбцами
Добрый день уважаемые форумчане. Прошу помочь найти или натолкнуть на возможные варианты решения следующей проблеммы: I Условия 1....

Комбобокс: возможно в качестве значения по умолчанию указать произвольный текст?
Возможно настроить отображение по умолчанию в комбобокс произвольного текста например &quot;&lt;Выберите товар&gt;&quot; ?

Создать программу, в которой словарь будет принимать в качестве ключа значения счётчика, а в качестве значения, то,
Создать программу, в которой словарь будет принимать в качестве ключа значения счётчика, а в качестве значения, то, что введет...

Извлечение значения и 3-и ключа
Каким образом можно сделать или даже использовать уже готовую структуру данных, с помощью которой в нее можно поместить 4 аргумента или 2....

Отделение значения от ключа
Доброго времени суток. Как можно, во время чтения файла, отделить значение от ключа? key=value


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru