![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
mishabard |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 31 Регистрация: 13.6.2011 Из: Киев Пользователь №: 2741 Спасибо сказали: 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 или что- то еще проще, потому как все справочники - это (ключ - название). Наверно так как я написал -нельзя, но может есть какой то другой подход, использовать справочники "мелкие" не из базы данных, чтоб не нагружать сеть и не перегружать запросы. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 16.6.2025, 12:40 |