Ho un GridLayout popolato da un Ripetitore (una TableView non si adatta alle mie esigenze), all'interno di un Flickable così posso scorrere il contenuto.
Voglio che il mio GridLayout per avere un'intestazione, che posso facilmente aggiungendo Text
s prima che il mio Ripetitore di simile a questo:
import QtQuick 2.0
import QtQuick.Layouts 1.12
ColumnLayout {
width: 200
height: 200
Flickable {
Layout.fillWidth: true
Layout.preferredHeight: 200
contentWidth: width
contentHeight: grid.height
clip: true
GridLayout {
id: grid
columns: 3
columnSpacing: 10
function reparentChildren(source, target) {
while (source.children.length) {
source.children[0].parent = target;
}
}
// Header
Text {
text: "Header 0"
}
Text {
text: "Header 1"
}
Text {
text: "Header 2"
}
// Data
Repeater {
model: 50
Item {
Component.onCompleted: grid.reparentChildren(this, grid)
Text {
text: "Column 0, %1".arg(modelData)
}
Text {
text: "Column 1, %1".arg(modelData)
}
Text {
text: "Column 2, %1".arg(modelData)
}
}
}
}
}
}
Tuttavia, vorrei che il mio intestazione ad essere "appiccicosa" / "congelati", cioè rimangono visibili durante lo scorrimento della Flickable. Ho potuto creare il mio intestazione al di fuori del Flickable, tuttavia il GridLayout non mi dà il finale di riga dimensioni, quindi non posso fare la mia posizione di intestazione testi.