crossplatform.ru

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

> Вытащить индекс из модели для мапера
JohnZ
  опции профиля:
сообщение 3.7.2015, 13:28
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 139
Регистрация: 19.7.2014
Пользователь №: 4190

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




Репутация:   0  


Есть модель QSqlTableModel, указатель на неё передаётся в диалог.
В диалоге создаём мапер, которому (как оказалось) кроме модели
нужен ещё и индекс записи (хотя он-же должен находиться в модели ? )

dataMapper = new QDataWidgetMapper(this); // this это QDialog
dataMapper->setModel(model);
dataMapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);

// dataMapper->setCurrentModelIndex(model->index( ??? )); <--- что тут поставить ???

dataMapper->addMapping(ui.salary, model->fieldIndex("zrp"));

И второй вопрос, - можно-ли смапировать QComboBox на int-овое поле ?
Если да, покажите код, плз ...

Заранее благодарен за помощь.

Сообщение отредактировал JohnZ - 3.7.2015, 13:29
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
lanz
  опции профиля:
сообщение 8.7.2015, 23:29
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 690
Регистрация: 28.12.2012
Пользователь №: 3660

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




Репутация:   8  


Цитата
Дык это я у модели хотел спросить, какую строку она отображает, что-бы с неё взять ключ и по нему заполнить диалог...

Модель не отображает никакой строки. Конкретная строка отображается именно во вью, в данном случае QWidgetMapper.
QWidgetMapper же и отвечает за заполнение подотчетного виджета.
Какая строка конкретно выделена для этого диалога можно спросить у того вью, в котором выделяются строки и потом сделать
setCurrentIndex() на нее.

Цитата
Нужно что-бы в зависимости от значения поля в БД QComboBox сам выбирал нужную строку, по номеру, типа switch-а ?

Это автоматически делает QWidgetMapper.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
JohnZ
  опции профиля:
сообщение 9.7.2015, 11:40
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 139
Регистрация: 19.7.2014
Пользователь №: 4190

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




Репутация:   0  


Получилось ! Спасибо, lanz !!!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 28.3.2024, 17:56