crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> ComboBox и mapper проблема с индексом более 255
AlexMad
  опции профиля:
сообщение 16.4.2018, 16:30
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 6.11.2014
Пользователь №: 4269

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




Репутация:   0  


Собственно, есть БД SQLITE.

создаю маппинг:
  tableModel_tblMain = new QSqlRelationalTableModel(this);
  tableModel_tblMain->setTable("tblMain");
  tableModel_tblMain->setRelation(tblMain_clientid, QSqlRelation("tblClients", "id", "name"));
  tableModel_tblMain->setRelation(tblMain_operatorid, QSqlRelation("tblOperators", "id", "name"));
...

// создаю реляцию
  relationModelClientID = tableModel_tblMain->relationModel(tblMain_clientid);
  relationModelClientID->setSort(tblClients_name, Qt::AscendingOrder);
  relationModelClientID->select();

...
// так как клиентов много, делаю перебор: (иначе отображает только 255 штук)
  relationModelClientID->select();
  while(relationModelClientID->canFetchMore())
    relationModelClientID->fetchMore();

...

// создаю маппинг
  mapper = new QDataWidgetMapper(this);
  mapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit);
  mapper->setModel(tableModel_tblMain);
  mapper->setItemDelegate(new QSqlRelationalDelegate(this));
  mapper->addMapping(ui.CB_ClientSelect, tblMain_clientid);
...

// после редактированния делаю субмит
mapper->submit();

А теперь самое интересное: если в комбобоксе выбран индекс до 255 включительно, строка в таблицу отлично добавляется. Если индекс 256 и выше, то mapper->submit(); возвращает false.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




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