#qml使用TableView动态加载表,求大神帮助???

为什么加载第一个表的时候可以显示全部,第二次选择加载另一个表后更新的内容没写上去?(第一个表原有的列就会更新,新增加的就不会写进去)

第一次显示的表:
图片说明

第二次显示的表:
图片说明

import QtQuick 2.0

import QtQuick.Controls 2.7

import Qt.labs.platform 1.1

import QtQuick.Controls 1.4

import QtCharts 2.3

TableView{

    id:resultTab
    width:560
    height: 620
    anchors.top:parent.top
    anchors.topMargin:60
    anchors.left: parent.left
    anchors.leftMargin: 30
    model: tablemode
}
ListModel {//单表的行数据
    id: tablemode
}

function bigTab(name,msge){
var msg=JSON.parse(msge)
var count = resultTab.columnCount;
tablemode.clear();
resultTab.model.clear()
for(var f=0;f<count ;f++){
resultTab.removeColumn(0)
}
// 循环添加TableViewColumn
for( var i=0;i<msg.title.length;i++){
var str = 'import QtQuick 2.7; import QtQuick.Controls 1.4; TableViewColumn {role: "'
+ msg.title[i] + '"; title: "' + msg.title[i] + '"; width: 100 ;resizable:false }';
resultTab.addColumn(Qt.createQmlObject(str,resultTab,"dynamicSnippet1"));
}

for( var u=0;u<msg.data.length;u++){
var json = new Object
for( var j=0;j<msg.data[u].length;j++){
var role = msg.title[j]
json[role]=msg.data[u][j]
if (typeof(msg.data[u][j]) === "number"){
json[role]=msg.data[u][j] .toFixed(3)
}
json[role]= json[role].toString()
}
tablemode.append(json)
}
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问