【问题标题】:TornadoFX TableView: get selected row valueTornadoFX TableView:获取选定的行值
【发布时间】:2018-01-24 21:17:44
【问题描述】:

我在 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

如何获取字段的值?

【问题讨论】:

    标签: kotlin tableview tornadofx


    【解决方案1】:

    您已经发现您有一个Persona 类的实例,因此您可以随时使用这些字段。然而,TornadoFX 有一个方便的函数来处理对 TableRow 的双击:

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

    onUserSelect 函数有一个可选参数来配置多少点击响应,默认为 2,所以它作为一个双击回调。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-05
      • 2017-07-30
      • 2019-05-10
      • 2021-04-16
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多