SolveItproblems

SolveITProblems is a project of QFormat.net intellectual club

SolveITProblems это проект интеллектуального клуба QFormat.net

понедельник, 18 октября 2010 г.

Java Swing jComboBox database table binding


Вы встретитесь с проблемой если попытаетесь связать jComboBox с таблицей из базы в NetBeans. А именно элементы отображаемые в выпадающем списке будут не значениями полей в таблице а черти знают чем (ну не совсем черти :) ).


Для связки списка с таблицей из базы вам нужно сначала:

Поставить в панельку ваш jComboBox.
Правая кнопка -> Bind -> elements -> Import Data to Form -> Выбираете подключение и базу. океите все...
Теперь вроде бывсе должно быть нормально а нет. (Если это же проделать с jTable всеуже должно быть отлично таблица должна отображать данные из базы). Список отображает что-то наподобие:
Долгие поиски исп
равления данной фишки к успехуне привели и я придумал обходной вариант. Когда автоматом байндить таблицу из базы с помощью NetBeans, то он создает класс с именем таблицы и в него пихает свои методы чтения и записи данных в таблицу. Вот там и придется нам сделать парочку изменений чтобы добиться своего. Просто поменяем его метод toString().


Было что-то наподобие этого:
@Override
public String toString() {
return "desktopapplication3.JeaCountries[countryId=" + countryId + "]";
}

А мы сделаем как хотим, например:

@Override
public String toString() {
return countryName;
}
Нормально я думаю... Счастья...
П.С. Конечно есть и другие методы - можно считать из базы все в вектор и этот с этим вектором потом создать новый jComboBox его адднуть в форму, но этот очень прост и быстр и совсем не претендует на место лучшего метода. Просто для моей задачи идеально подошел... Еще раз Счастья... :)

4 комментария:

  1. Намудохался ты пока нашел как это сделать, а оказалось все так легко :)

    ОтветитьУдалить
  2. кто мудохается пока кодит тому Код подает :)

    ОтветитьУдалить
  3. Большое человеческое спасибо тебе за это дорогой.

    ОтветитьУдалить
  4. Спасибо большое !!!

    ОтветитьУдалить