Je crée une table et y insère la ligne comme ceci.une seule ligne est insérée dans la table et cela aussi conditionnelle et si la condition n'est pas satisfaite qu'une erreur est affichée. le problème est que lorsqu'une ligne est insérée dans une condition satisfaisante, l'autre ligne insérée à nouveau sur la condition satisfaisante ne réécrit pas cette ligne mais utilise les deux colonnes suivantes de cette ligne pour conserver les deux colonnes précédentes vides.QStandardItem insertion de lignes d'une manière étrange
Exemple
premier résultat:
2 bonjour
second résultat:
3 hello
code
void searchWindow::TextReturn()
{
int id = (text->text()).toInt();
map<int,QString>::iterator itt;
itt = appWindow::dataa.find(id);
if(itt != appWindow::dataa.end()) //returns 1 if we found something
{
m_mode1 = new QStandardItemModel(0,2,this);
m_mode1->setHorizontalHeaderItem(0, new QStandardItem(QString("ID")));
m_mode1->setHorizontalHeaderItem(1, new QStandardItem(QString("DATA")));
m_items << new QStandardItem((QString("%1").arg(id)));
m_items << new QStandardItem((*itt).second);
m_mode1->appendRow(m_items);
m_tablee->update();
text->setText("");
m_tablee->setModel(m_mode1);
}
else
{
m_mode1 = new QStandardItemModel(0,2,this);
m_mode1->setHorizontalHeaderItem(0, new QStandardItem(QString("SEQUENCE")));
m_mode1->setHorizontalHeaderItem(1, new QStandardItem(QString("MESSAGE")));
m_msgBox = new QMessageBox();
m_msgBox->setWindowTitle("Alert");
m_msgBox->setText("INVALID ID ENTERED");
m_msgBox->show();
text->setText("");
m_tablee->setModel(m_mode1);
}
}
Merci pour toute aide à l'avance