It's probably going to be easier if you don't use the GridView and instead use a column containing three rows. You can simply make the middle row invisible when not needed. This will allows the UI to be more flexible.
This should like like this:
property bool informationsVisible: false
Column {
anchors.fill: parent
Row {
id: firstRow
Repeater {
model: firstHalfOfYourData
delegate: MouseArea {
//Your item representation
}
}
}
Row {
id: informationsRow
visible: informationsVisible
//Display informations on the selected element here
}
Row {
id: secondRow
Repeater {
model: secondHalfOfYouData
delegate: MouseArea {
//Your item representation
}
}
}
}