Hi everybody;
Who can help me to solved my problem :)
I want show data from database into qml Tableview
How can i create model and show my database data into my qml ui.
main file :
QQmlApplicationEngine engine;
MyData data;
engine.rootContext()->setContextProperty("MyData", &data);
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
This is my QML file :
TableView {
model: *MyData.KZ()*
anchors.margins: 12
anchors.fill: parent
TableViewColumn {
role: "id"
title: "ID"
width: 120
}
TableViewColumn {
role: "firstname"
title: "First Name"
width: 120
}
TableViewColumn {
role: "lastname"
title: "Last Name"
width: 120
}
}
This is my function in Widget mode :
public:
void KZ() {
if (OpenConnection())
{
}
else
{
QSqlQueryModel * model = new QSqlQueryModel();
QSqlQuery * query = new QSqlQuery();
query->prepare("Select doc_number,first_name,last_name from document");
query->exec();
model->setQuery(*query);
ui->tableView_2->setModel(model);
ui->tableView_2->model()->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
ui->tableView_2->model()->setHeaderData(1, Qt::Horizontal, QObject::tr("First Name"));
ui->tableView_2->model()->setHeaderData(2, Qt::Horizontal, QObject::tr("Last Name"));
}
}
I need to write again this function for QML..
my function is wrong for qml :
public:
Q_INVOKABLE QVariant KZ() {
if (OpenConnection())
{
QSqlQueryModel * model = new QSqlQueryModel();
QSqlQuery * query = new QSqlQuery();
query->prepare("Select doc_number,first_name,last_name from document");
query->exec();
model->setQuery(*query);
ui->tableView_2->setModel(model);
ui->tableView_2->model()->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
ui->tableView_2->model()->setHeaderData(1, Qt::Horizontal, QObject::tr("First Name"));
ui->tableView_2->model()->setHeaderData(2, Qt::Horizontal, QObject::tr("Last Name"));
return .... what ?
}
else
{
}
↧