![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Begemot |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 13 Регистрация: 15.5.2010 Пользователь №: 1718 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Случилось тут проблема, и уже больше суток не могу решить, пробовал разные подходы все или вообще не работает или работает но через раз (не шучу).
Есть MySqlRelationalTableModel, у нее одно из полей внешний ключ (fkey) ну и соответвенно связанная таблица ID, Name. Все поля таблицы привязаны к виджетам на форме через QDataWidgetMapper, fkey привязан к QLineEdit. Отображается все отлично, вместо значения ключа я вижу соответвующий Name из связанной таблицы. Вопрос как правильно програмно изменить это значение. Для юзера это выглядит так - QLineEdit read only, по щелчку на нему - открывается диалог, в котором список Name - пользователь выбирает нужное или _вводит новое_, я получаю строку которую он выбрал\ввел. Как мне теперь правильно изменить значение в главной модели и все это сохранить в бд? |
|
|
![]() |
Гость_kkmspb_* |
![]() ![]()
Сообщение
#2
|
Гости ![]() |
У похожая ситуация :
setData( .. меняет значение в поле у QSqlRelationalTableModel делаем submitAll( mapper связанный с этим полем неправильно отображает ... делаем _mapper->setCurrentIndex(0); и теперь все правильно |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 15.4.2025, 5:47 |