Название: ComboBox и mapper проблема с индексом более 255
Отправлено: AlexMad от Апрель 16, 2018, 19:44
Собственно, есть БД 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.
Название: Re: ComboBox и mapper проблема с индексом более 255
Отправлено: dio от Апрель 17, 2018, 12:52
Может Вам реализовать этот функционал не с помощью ComboBox. Ведь пользователю приложения не доставит удобства работы с таким большим списком.
Название: Re: ComboBox и mapper проблема с индексом более 255
Отправлено: AlexMad от Апрель 17, 2018, 19:10
В комбобоксе сделан перебор по имени с клавиатуры, так что операторы не задумываясь находят нужного клиента. Вопрос не в том, как удобно, вопрос в том, ПОЧЕМУ это так ограничено? Если где-то указаны ограничения, тогда я перепишу процедуры ввода и редактирования. Но при этом придется переучивать операторов, а это самое сложное в конкретном случае.
|