QML Tableview显示所选行的值

时间:2017-09-23 12:17:39

标签: qt qml tableview

我有一个tableview,我想在一行onPressAndHold上打开一个对话框,并显示行" orderNumber"的单元格的值。 但我收到错误消息: ReferenceError:未定义行

TableView {
    id: tableviewopenorders
    height: 180
    clip: false
    visible: true

    onPressAndHold: oocanceldialog.open()


    TableViewColumn {
        id: orderNumberColumn
        role: "orderNumber"
        title: "Order Number"
    }

    model: openordersModel
}

ListModel {
    id: openordersModel

    ListElement {
        orderNumber: "1223455"

    }
    ListElement {
        orderNumber: "111111"

    }
}


Dialog {
    id: oocanceldialog
    title: "Cancel confirmation"
    standardButtons: Dialog.Ok | Dialog.Cancel
    x: (parent.width - width) / 2
    y: (parent.height - height) / 2
    Label {
        text: openordersModel.get(row).orderNumber

    }

    onAccepted: console.log("Ok clicked")
    onRejected: oocanceldialog.close()
}

1 个答案:

答案 0 :(得分:0)

row存在于onPressAndHold的上下文中,因此它不存在于其中,要获取行,我们必须使用TableView的{​​{3}}属性:

  

currentRow:int

     

视图的当前行索引。默认值为-1表示未选择任何行。

在你的情况下:

Label {
    text: openordersModel.get(tableviewopenorders.currentRow).orderNumber
}