Qt - mapper не будет отправлять текстовые поля
У меня есть 15 QLineEdit, из которых 13 "реальные" и 2 "текстовые" (типы полей SQL), сопоставленные с его полем базы данных. Я могу загрузить данные в поля и обновить их, но когда я пытаюсь вставить новый элемент, текстовые поля не сохраняются. Ошибки не отображаются.
Мой код выглядит следующим образом:
отображение
mapper = new QDataWidgetMapper(this);
mapper->setModel(model2);
mapper->setItemDelegate(new QSqlRelationalDelegate(this));
mapper->setSubmitPolicy(QDataWidgetMapper::ManualSubmit);
mapper->addMapping(ui->lineEdit, model2->fieldIndex("code"));
mapper->addMapping(ui->lineEdit_2, model2->fieldIndex("name"));
...
погрузка
model2->setFilter("code = '" + code + "'");
model2->select();
mapper->toFirst();
экономия
if(ref == "") { //check if it's saving a new or existing item
ref = ui->lineEdit->text();
model2->insertRow(0);
mapper->setCurrentIndex(0);
}
if(!mapper->submit()) {
// check if the mapper is submitting it's widgets data. it is!
}
if(model2->submitAll())
ui->statusBar->showMessage("Success", 3000); //being called
else
ui->statusBar->showMessage("Fail", 3000);