qq_43788881 2019-12-12 09:31 采纳率: 0%
浏览 1218

#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)
}
}

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-25 19:44
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功