how to display records from database through qqmllistproperty

49 Views Asked by At

Displaying records from database through listview using qqmllistproperty

I am trying to display the records from database through qqmllistproperty but it display only the last records

DataManager::DataManager(QObject *parent) : QObject(parent)
{

}
QQmlListProperty<EmployeeDetails> DataManager::employeedetailslist()
{
    return QQmlListProperty<EmployeeDetails>(this, m_employeeDetailsList);
}

void DataManager::setEmployeeDetailsList(const QList<EmployeeDetails *> &employeeDetailsList)
{
    m_employeeDetailsList = employeeDetailsList;
}

void DataManager::printAllPersons(){
    m_employeeDetailsList.clear();
    EmployeeDetails *em = new EmployeeDetails();
    QSqlQuery query("SELECT * FROM employee");
    int idName = query.record().indexOf("name");
    while (query.next())
    {
       em->setName( query.value(idName).toString());
       m_employeeDetailsList.append(em);

    }
    int count  = m_employeeDetailsList.count();
    for (int i =0;i<count;i++) {
        qDebug()<<"name"<<m_employeeDetailsList[i];

    }
    qDebug() <<"count"<<count;
//    qDebug() <<"name"<<m_employeeDetailsList.;
    emit listchanged();


}

There are 9 records , I expected all 9 records should come in the listview, but it shows last record 9 times in the listview

0

There are 0 best solutions below