crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QStandartItemModel + setRelation, Использование стандартной модели вместо таблицы из базы данных
mishabard
  опции профиля:
сообщение 8.7.2011, 0:24
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 31
Регистрация: 13.6.2011
Из: Киев
Пользователь №: 2741

Спасибо сказали: 0 раз(а)




Репутация:   0  


Суть следующая:
Есть модель и связанныя с ней таблица
model->setRelation(kassaModel->fieldIndex("idpay"),QSqlRelation("pay","id","name"));
...
Есть связанный виджет который в диалоговом окне меняет занчение в таблице
...
QSqlTableModel *paymodel = model->relationModel(model->fieldIndex("idpay"));
QComboBox * pCombo->setModel(paymodel);
pCombo->setModelColumn(paymodel->fieldIndex("name"));
....
mapper->addMapping(pCombo, model->fieldIndex("name"));
....
Все работает, все замечательно!!!
НО!
Оказалось, что есть довольно много справочников, которые состоят из 2 или 3 значений или строк:
Например:

"T" - "ДА"
"F" - "НЕТ"

или

"R" - "Красный"
"B" - "Черный"
"W" - "Белый"

и т.п.

В базе данных хранятся только ключи и все они CHAR(1). Логику и структуру поменять не получится, приходится приспосабливаться.
ВОПРОС???
Можно ли в
model->setRelation(kassaModel->fieldIndex("idpay"),QSqlRelation("pay","id","name"));
Подставить модель не из базы данных. Созданную в программе. например QStandartItemModel или что- то еще проще, потому как все справочники - это (ключ - название).
Наверно так как я написал -нельзя, но может есть какой то другой подход, использовать справочники "мелкие" не из базы данных, чтоб не нагружать сеть и не перегружать запросы.



Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 16.6.2025, 12:40