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