QComboBox и sqlQueryModel, получить отличный от отображаемого столбца , столбец модели |
Здравствуйте, гость ( Вход | Регистрация )
QComboBox и sqlQueryModel, получить отличный от отображаемого столбца , столбец модели |
Andrewshkovskii |
8.7.2011, 16:16
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Есть у меня Qcombobox, у которого стоит модель QSqlQueryModel (select id, name ..) .
Соответственно отображается name, но при определенных событиях надо получать id выбранного name. Как это сделать по-красивее? Вариант с выборкой айдишника по тексту из базы - не красиво. |
|
|
Litkevich Yuriy |
8.7.2011, 16:37
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Andrewshkovskii |
8.7.2011, 16:47
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
вот как мне взять то? Мне нужно понять что выбрано комбобоксом было относительно модели. Есть вариант тупо по индексу смотреть:
Но эт не совсем годиться, это костыль.. Ну тоесть в нормальном варианте вот так :
Но это работает только потому что порядок строк в комбобоксе соответствует порядку строк в модели. Если будет разная сортировка - то беда. Сообщение отредактировал Andrewshkovskii - 8.7.2011, 17:02 |
|
|
Litkevich Yuriy |
8.7.2011, 17:03
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
По другому ни как
|
|
|
Andrewshkovskii |
8.7.2011, 17:05
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Да?это печально. вообще мне кажется что слишком мало Qt отсыпает методов для работы с БД на основе её компонентов. SQL модуль, в частности модели, надо дописывать или писать обертки. Я кое-что написал, но это так - для личного пользования.
|
|
|
ilyabvt |
9.7.2011, 17:18
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 297 Регистрация: 23.6.2011 Пользователь №: 2765 Спасибо сказали: 45 раз(а) Репутация: 3 |
Ну я когда мне надо было создавал массив с ID, если пересортировываешь список в ComboBox то пересортировываешь его в массиве. В нулевом элементе массива у меня хранился его размер. По скорости работы и красивости кода меня вполне устраивало.
|
|
|
Andrewshkovskii |
11.7.2011, 12:12
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1 |
Предлагаю вариант - если вы используете комбо с моделью - используйте QCompleter :
1. Это будет удобно пользователю 2. Это будет удобно вам - искать модельный индекс выбранных элементов. |
|
|
Текстовая версия | Сейчас: 26.12.2024, 15:35 |