Когда я впервые устанавливаю столбец TableView и List Model. отображается нормально
Но когда я изменяю номер столбца, удаляя все столбцы и добавляя столбец, я также обновляю свою модель списка. TableView становится пустым
Он просто показывает 2 столбца, которые я добавляю, и не показывает данные.
Я использую Qt 5.7 и использую TableView в QtQuick.Controls 1.4.
Вот мой код:
TableView {
id: tbl
width: 400
height: 300
model: lst
}
Component {
id: columnComponent
TableViewColumn {
width: 50
}
}
ListModel {
id: lst
}
Button {
text: "Click me"
anchors.top: tbl.bottom
onClicked: {
for(var i = tbl.columnCount-1; i>=0; i--) {
tbl.removeColumn(i)
}
tbl.addColumn(columnComponent.createObject(tbl,{ role: "1"}))
tbl.addColumn(columnComponent.createObject(tbl,{ role: "2"}))
tbl.addColumn(columnComponent.createObject(tbl,{ role: "3"}))
lst.clear()
var element = {}
element["1"] = "a"
element["2"] = "a"
element["3"] = "a"
lst.append(element)
tbl.model = lst
}
}
Button {
text: "Click me 2"
anchors.left: tbl.right
onClicked: {
for(var i = tbl.columnCount-1; i>=0; i--) {
tbl.removeColumn(0)
}
tbl.addColumn(columnComponent.createObject(tbl,{ role: "a"}))
tbl.addColumn(columnComponent.createObject(tbl,{ role: "b"}))
lst.clear()
var element = {}
element["a"] = "b"
element["b"] = "b"
lst.append(element)
tbl.model = lst
}
}