Russian Qt Forum
Сентябрь 30, 2024, 20:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Фильтры для связки QSqlRelationalTableModel + QComboBox  (Прочитано 2302 раз)
RVZ
Гость
« : Апрель 12, 2011, 12:31 »

Всем доброго времени суток!
В общем картина следующая есть четыре таблицы (основная и три привязанных) например с координатами пользователя

   Координаты                                Область                         Город                              Улица
 ----------------------------         -------------         ---------------------         --------------------------------
| ID | oID | CityID | StreetID |       | oID | Name |       | CityID | oID | Name |        | StreetID | oID | CityID | Name |
-----------------------------         -------------         ---------------------         --------------------------------
Название Областей, городов, улиц разбросаны на форме по комбикам примерно так
Код
C++ (Qt)
......
RTM = new QSqlRelationalTableModel(0);
..........
ui->City->setModel(RTM->relationModel(CityIDx));
ui->City->setModelColumn(RTM->relationModel(CityIDx)->fieldIndex("City"));
........
mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
 

все дело в том что улиц слишком много и есть одинаковые в разных городах хотелось бы както сократить список путем фильтрации(ограничения списка значений в комбиках) не знаю как это можно организовать
пробовал QSortFilterProxyModel_->setSourceModel(RTM->relationModel(CityIDx)); QSortFilterProxyModel_ назначать комбикам
все хорошо только только при попытке сохранить mapper->submit() комбики сбрасываются
Не знаю что делать помогите кто чем может  Плачущий
« Последнее редактирование: Апрель 12, 2011, 15:47 от RVZ » Записан
Kunashir
Гость
« Ответ #1 : Май 31, 2011, 12:47 »

Может стоит отказаться от комбиков и использовать формы подбора?
Записан
pokidoff
Гость
« Ответ #2 : Май 31, 2011, 12:56 »

В QSqlRelationalTableModel улиц ставь фильтр, в зависимости от выбранного города. То есть город изменился - в фильтр улиц подставляем айдишник города и перезаполняем модель. В этом случае при изменении города будут небольшие задержки (подвисания), пока модель улиц заполнится. Я в этот момент меняю курсор на часы.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.065 секунд. Запросов: 20.