Reputation: 11
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
Upvotes: 1
Views: 48