Russian Qt Forum
Ноябрь 24, 2024, 10:41
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Работа с QSqlRelationalTableModel через QComboBox..
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Работа с QSqlRelationalTableModel через QComboBox.. (Прочитано 2338 раз)
BaHeK
Гость
Работа с QSqlRelationalTableModel через QComboBox..
«
:
Декабрь 17, 2010, 21:28 »
Здравствуйте! Возник у меня следующий вопрос... сразу на коде покажу... Есть простенькая таблица... в ней пару полей, я ее указываю в модели, и эту модель устанавливаю комбобоксу... Делаю чтобы отображался текст, вместо соответствующего индекса из таблицы...
QSqlRelationalTableModel *pRModel = new QSqlRelationalTableModel(this,QSqlDatabase::database("AdressD"));
pRModel->setTable("t_strana");
pRModel->select();
mf_cmbStrana->setModel(pRModel);
mf_cmbStrana->setModelColumn(pRModel->fieldIndex("data"));
mf_cmbStrana->setCurrentIndex(-1);
вопрос.. как мне при изменении узнать именно индекс выбранного поля...? не currentIndex() из комбобокса, а именно в модели... тоесть в таблице есть поля "id" и "data", вот id... Из QTableView аналогичный вопрос...
fio = m_pSqlRelationModel->data(m_pSqlRelationModel->index(mf_tableAllWorkers->currentIndex().row(),1)).toString();
если я сделал скажем - m_pRelationalModel->setRelation(1,QSqlRelation("t_strana","kod","naim")); как мне вместо строкового значения узнать значение id...? Заранее спасибо...
Записан
BaHeK
Гость
Re: Работа с QSqlRelationalTableModel через QComboBox..
«
Ответ #1 :
Декабрь 17, 2010, 23:51 »
Решил следующим образом... Если есть предложения получше, пишите..
QSqlRelationalTableModel *pTmpRModel = qobject_cast<QSqlRelationalTableModel*>(mf_cmbStrana->model());
mf_cmbStrana->setModelColumn(pTmpRModel->fieldIndex("id"));
//Вот оно!!!))))
QMessageBox(this,windowTitle(),mf_cmbStrana->currentText());
mf_cmbStrana->setModelColumn(pTmpRModel->fieldIndex("data"));
Записан
Paullo
Гость
Re: Работа с QSqlRelationalTableModel через QComboBox..
«
Ответ #2 :
Декабрь 21, 2010, 13:26 »
pRModel->index(mf_cmbStrana->currentIndex(), pRModel->fieldIndex("id")).data().toString()
Не? Вроде как QComboBox в качестве своего индекса индекс модели использует.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...