You can use ItemDelegates:
TableView {
id: tableView
anchors.fill: parent
model: TableModel {
TableModelColumn { display: "column 0" }
TableModelColumn { display: "column 1" }
rows: [
{
"column 0": "value 0",
"column 1": "value 1"
},
{
"column 0": "value 0",
"column 1": "value 1"
}
]
}
delegate: DelegateChooser {
DelegateChoice {
column: 0;
ItemDelegate {
contentItem: Label {
text: "delegate column 0: " + model.index
}
}
}
DelegateChoice {
column: 1;
ItemDelegate {
contentItem: Label {
text: "delegate column 1: " + model.index
}
}
}
}
}