leider benötige ich wiedereinmal eure Hilfe.
Ich habe Probleme mit dem Auslesen aus einem QSqlQueryModel mittels QModelIndex, an einer Stelle meines Codes funktioniert es an einer anderen nicht und ich finde den Fehler nicht!
Der Code der funktioniert: (sortFilter ist global auf dem heap ein QSortFilterProxyModel)
Wenn ich hier einen Haltepunkt setze und im Debugger mir firstCollum anschaue steht da mei r und c die passenden Werte, also c=3 und r=das wo ich geklickt hatte.void DbmsWindow::showContent(QModelIndex index)
{
int row = index.row();
QModelIndex firstCollum = sortFilter->index(row,3);
QString baa = sortFilter->data(firstCollum,Qt::DisplayRole).toString();
cout << "PersonID ist: "<<baa.toStdString()<<endl;
}
der Code wo es nicht funktioniert:
Wenn ich hier in den Haltepunkt schaue ist currentIndex immer bei r=-1 und c=-1 und das cout bringt nur Fooo: ,sonst nix!void ViewContent::newExec(DbManager *incomingDatabase, int id)
{
QString mailQuery="SELECT anrede, vorname, nachname FROM dm_person p WHERE p.personid=";
mailQuery=mailQuery+id;
QSqlQueryModel *tempQModel = new QSqlQueryModel();
QSortFilterProxyModel localSortFilter;
QModelIndex currentIndex;
//übergibt den Query und ein Pointer auf das Model und liest die Daten in das Model
incomingDatabase->auslesen(mailQuery,tempQModel);
localSortFilter.setSourceModel(tempQModel);
currentIndex = localSortFilter.index(0,1,QModelIndex());
cout<<"Fooo: "<< localSortFilter.data(currentIndex,Qt::DisplayRole).toString().toStdString() <<endl;
ui->leFirstName->setText(localSortFilter.data(currentIndex,Qt::DisplayRole).toString());
}
Ich habe es auch schon mit :
Versucht nur da mach ich was mit dem 3. Parameter falsch der soll const quint32 sein, was muss ich da übergeben?currentIndex = localSortFilter.createIndex(0,1,0);
so bekomme ich folgenden Fehler: "/usr/include/qt4/QtCore/qabstractitemmodel.h:325: Fehler:'QModelIndex QAbstractItemModel::createIndex(int, int, int) const' is protected"
Das wird sicherlich nur eine Kleinigkeit sein die ich nicht seh, hoffe ich
Vielen Dank schonmal für eure Hilfe!!!!!!
Grüße Meho