繁体   English   中英

为什么我的滑块编辑器在 Vaadin 8 网格中不起作用?

[英]Why does my slider editor not work in Vaadin 8 grid?

我想创建一个 Vaadin 8 网格,我可以在其中使用滑块(类似于此示例)编辑Amount (2)列中的值。

网格

我使用以下代码来创建网格。

fun createGrid(): Grid<Concept> {
    val grid = Grid<Concept>()
    val dataProvider = ListDataProvider<Concept>(ctl.getConcepts())
    grid.dataProvider = dataProvider
    grid.addColumn(Concept::getName)
            .setId("ID")
            .setCaption("ID")
    grid.addColumn(Concept::getDescription)
            .setId("desc")
            .setCaption("Description")
    grid.addColumn(Concept::getOutput)
            .setId("amountNumber")
            .setCaption("Amount")

    val conceptAmountditor = Slider()
    conceptAmountditor.setWidth(100.0f, Sizeable.Unit.PERCENTAGE)
    conceptAmountditor.min = 0.0
    conceptAmountditor.max = 100.0

    grid.addColumn(Concept::getOutput, ProgressBarRenderer())
            .setId("amountBar")
            .setCaption("Amount (2)")
            .setEditorComponent(
                    conceptAmountditor,
                    Concept::setOutput
            )
            .setEditable(true)


    grid.setSizeFull()
    return grid
}

但是当我点击各个行时,没有滑块出现。

我的代码有什么问题? 双击特定行时,如何将进度条转换为滑块?

这有效:

    val amount2Col = grid.addColumn(Concept::getOutput, amount2ColRenderer)
            .setId("amountBar")
            .setCaption("Amount (2)")
    val binder = grid.editor.binder
    val amount2ColSlider = Slider()
    val amount2Binding: Binder.Binding<Concept, Double> = binder.bind(
            amount2ColSlider, Concept::getOutput, Concept::setOutput
    )
    amount2Col.setEditorBinding(amount2Binding)
    amount2Col.setEditable(true)
    grid.editor.setEnabled(true)

有关详细信息,请参阅本页上的“编辑网格内的项目”部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM