Chvalov
@Chvalov

Как передать в ChoiceBox значение полей из БД?

Не могу понять как правильно передать в ChoiceBox значение полей из таблицы БД.
В таблице есть id и name

Использую ORMLite.

Таким способом получаю id и name:
@Test
    public void testGetCategories() throws Exception {

        CategoryService service = new CategoryService();
        List<Category> list = service.getCategories();

        Assert.assertNotNull(list);

        for (Category category : list) {
            System.out.println(category);
        }
    }

Category.java
@DatabaseTable
public class Category {
    @DatabaseField(generatedId = true)
    private int id;
    @DatabaseField
    private String name;

    public Category() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Category{" +
                "id=" + id +
                ", name='" + name + '\'' +
                '}';
    }
}

Ну и на всякий случай CategoryService.java
public CategoryService() throws SQLException {
        source = new JdbcConnectionSource(url);
        dao = DaoManager.createDao(source, Category.class);
    }

    public List<Category> getCategories() throws SQLException {
        return dao.queryForAll();
    }


ChoiceBox
cbSubject.setItems(FXCollections.observable*****());


В сам ChoiceBox мне нужно передать список name, но при этом нужно чтобы при выборе пункта я получал в интовую переменную значение id.

UPD: В данный момент думаю создать двухмерный массив типа String и в него передавать id и name, и уже данные брать с массива, но не уверен что правильное решение.
  • Вопрос задан
  • 432 просмотра
Пригласить эксперта
Ответы на вопрос 1
FAQEnD
@FAQEnD
Student, android developer on GlobalLogic
Привет Chvalov,

Не совсем очевидно каким должен быть конечный результат.
Нечто похожее на это, но только вместо цифр будут данные из name?
ftTFp.png
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы