为什么我的滑块编辑器在 Vaadin 8 网格中不起作用?
Why does my slider editor not work in Vaadin 8 grid?
我想创建一个 Vaadin 8 网格,我可以在其中使用滑块(类似于 this example)编辑列 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)
有关详细信息,请参阅 this page 上的 "Editing Items Inside Grid" 部分。
我想创建一个 Vaadin 8 网格,我可以在其中使用滑块(类似于 this example)编辑列 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)
有关详细信息,请参阅 this page 上的 "Editing Items Inside Grid" 部分。