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);

0 ответов

Другие вопросы по тегам