簡體   English   中英

TornadoFX TableView:獲取選定的行值

[英]TornadoFX TableView: get selected row value

我在TornadoFX(Kotlin)中有這個TableView:

class MainView : View() {

    val persone = listOf(
            Persona("marco", LocalDate.of(1980, 12, 20)),
            Persona("francesca", LocalDate.of(1950, 1, 10)),
            Persona("caterina", LocalDate.of(1973, 5, 3))
    ).observable()

    var tbl: TableView<Persona> by singleAssign()

    override val root = vbox(10.0)

    init {
        with(root) {
            this.setMaxSize(300.0, 300.0)
            tbl = tableview(persone) {
                column("Nome", Persona::nome)
                column("Data di nascita", Persona::birthday)
                column("Età", Persona::eta)

                selectionModel.selectionMode = SelectionMode.SINGLE
                onDoubleClick {
                    println(this.selectedItem)
                }
            }
        }
    }
}

當我雙擊一行時,我看到以下結果:com.kotlin.test.Persona@581f0ad3

如何獲取字段的值?

您已經發現自己有一個Persona類的實例,因此可以隨時使用這些字段。 但是,TornadoFX具有便捷功能來處理TableRow上的雙擊:

onUserSelect { persona ->
    println(persona.nome)
}

onUserSelect函數采用一個可選參數來配置要響應的單擊次數,默認值為2,因此它可以用作雙擊回調。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM