Как сделать динамическую таблицу

моя проблема заключается в том, что мне нужно считать из одного массива (tFields) названия и кол-во колонок в таблице, а из второго массива (tRecords) данные элементов.

Считку и создание колонок я реализовал уже, прошу вас помочь или подсказать где проблема в создании списка.

Вот код:

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.4
import QtQuick.Controls.Imagine 2.3
import QtQuick.Templates 2.5
import QtQuick.Controls 1.4

Page {
id: tblPage
title: qsTr("Table")

function buildColumns() {
    var rc = vConnection.recCount
    var fc = vConnection.fldCount

    for(var i = 0; i < fc; ++i)
    {
        var str = 'import QtQuick 2.1; import QtQuick.Controls 1.0; import QtQuick.Layouts 1.0; TableViewColumn{ id: idColumn; role: '
        str += '"' + vConnection.tFields[i] + '"' + '; title: ' + '"' + vConnection.tFields[i] + '"' +  '; width: ' + (tblPage.width / vConnection.fldCount) +'; Component.onCompleted: console.log("YEY");}'
        tbl.addColumn(Qt.createQmlObject(str, tbl))
    }

    for(var j = 0; j < rc; ++j)
    {
        var str2 = 'import QtQuick 2.12; import QtQuick.Window 2.12; import QtQuick.Controls 2.4; import QtQuick.Controls.Imagine 2.3; import QtQuick.Templates 2.5; import QtQuick.Controls 1.4; ListElement { id: idColumn; '
        for(var f = 0; f < fc; ++f)
        {
            str2 += vConnection.tFields[f] + ': "' + vConnection.tRecords[f + rc] + '"; '
        }

        str2 += '}'

        Qt.createQmlObject(str2, lmTable)
    }
}

Component.onCompleted: {
    buildColumns();
}

TableView {
    id: tbl
    anchors.fill: parent

    /*TableViewColumn {
        role: "title"
        title: "Title"
        width: 100
    }*/

    model: ListModel {
        id: lmTable


       /* ListElement {
            title: "A Masterpiece"
            author: "Gabriel"
        }*/
    }
}

}

Ответы (0 шт):