Собственно, есть БД 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();
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)