crossplatform.ru

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

> как обнулить виджеты QDataWidgetMapper, когда модель отфильтровала 0 записей
Steklova Olga
  опции профиля:
сообщение 27.9.2011, 21:38
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

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




Репутация:   4  


Здравствуйте! Работаю с Qt 4.7, Firebird 2.1.
Подскажите, пожалуйста, новичку в Qt, как обнулить виджеты QDataWidgetMapper, когда фильтр модели изменился и модель QSqlTableModel отфильтровала 0 записей?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Steklova Olga
  опции профиля:
сообщение 25.10.2011, 16:23
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

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




Репутация:   4  


Решение найдено ;)
Update mapper'а легко сделать, используя слот setCurrentModelIndex mapper'а:
bool MainWindow_db::create_mapper_card() 
{
    mapper_card = new QDataWidgetMapper(this);
    mapper_card->setModel(model_short);
    mapper_card->addMapping(lineEdit_card_1, 11);
    mapper_card->addMapping(lineEdit_card_2, 12);
    connect(view_short->selectionModel(),
            SIGNAL(currentRowChanged(const QModelIndex &, const QModelIndex &)),
            mapper_card, SLOT(setCurrentModelIndex(const QModelIndex &)));
    return true;
}

Если в модели установлен фильтр, то независимо от того, сколько отфильтровалось записей,
mapper обновится правильно (если 0 записей, то виджеты mapper'а обнулятся).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 27.11.2024, 8:57