Finally I solved it!!! function fillRow() { table.model = undefined // <--- 1 if (!tableModel.count) { tableModel.append({"C0":50}) } else { tableModel.setProperty(0,"C"+(table.columnCount-1),50+table.columnCount-1) } table.model = tableModel //<--- 2 var x = tableModel.get(0) console.log("Num. Columns",table.columnCount,"row object",JSON.stringify(x)) } When I fill the columns, I set TableView.model to undefined(1), then fill the rows, and after I set TableView.model to ListModel again(2)