How to get the index of selected row in ListView?
Unsolved
General and Desktop
-
Hi All,
I had displayed the listview, Now I want to know which list item [Row] has been selected by the user. By using the index of the row, so I can fetch from the value accordingly.
Code Snippets:
ListView { id: idListView anchors { left: parent.left leftMargin: 10 * scaleFactor right: parent.right rightMargin: 10 * scaleFactor top: rectangleToolBar.bottom topMargin: 10 * scaleFactor bottom: rectangleStatusBar.top bottomMargin: 10 * scaleFactor } model: objHomeController.detailsModel delegate: comsearchDelegate spacing: 10 * scaleFactor clip: true highlight: Rectangle { color: 'grey' Text { anchors.centerIn: parent color: 'white' } } focus: true } Component { id: comsearchDelegate Row { spacing: 10 * scaleFactor Column { Switch { id: idswitch checked: false onCheckedChanged: { ****//Here I want to get which row has been selected, like Row number, CurrentIndex**** if(checked === true) { //Note: Get the Map Title/Description console.log("**********CurrentIndex:"); console.log("**********CurrentIndex:",idListView.currentIndex); console.log("**********currentItem:",idListView.currentItem); intCurrentIndex = idListView.currentIndex; // var varMapTitleCurrentIndex = varJsonString.Title[intCurrentIndex]; } else if (checked === false) { //Note: Remove the ItemId from Array. } } } } Column { Image { id: imageItem width: 100 * scaleFactor height: 70 * scaleFactor source: thumbnailUrl } } Column { Layout.alignment: Qt.AlignTop Text { text: title; font { pixelSize: 14 * scaleFactor; bold: true } } Text { text: description; font { pixelSize: 14 * scaleFactor; bold: true } } Text { text: modified; font { pixelSize: 14 * scaleFactor; bold: true } } Text { text: size; font { pixelSize: 14 * scaleFactor; bold: true } } MouseArea { id: idmusLstvw anchors.fill: parent onClicked: { console.debug("list click"); idLoaderSize.setSource("capacity.qml") } } } } }
Thanks In advance.
-
ListView { onCurrentIndexChanged: { console.log(model.get(currentIndex)) } }