Vaadin TwinColSelect从选项列中删除项目而不删除选定的列值

时间:2016-06-06 08:37:15

标签: java vaadin

就是这种情况,我的情况是用户提示使用双列选择器。选项列将根据选择的组合框填充。

所以,我需要根据组合框选择来更改“选项列表”。但我希望选定的值保持不变。

Public Sub SaveState(pFile As String)
    If pFile = "" Then Exit Sub
    Dim FF As Long
    Dim b as Byte
    FF = FreeFile()
    Open pFile For Binary As FF
        ' Save the Lives
        b = 1
        If chkLive.value = 1 Then Put #FF, 117290 + 1, b
    Close #FF
End Sub

最后,当我收集所选值时,它可能包含本地和国际用户。

像这样的东西。

eg. combo box value = international
options column is populated international with users. 

combo box value = local
options column is populated with local users.

如何存档?我尝试了以下方法;不知怎的,我可以从代码中获取选定的值。但是从前端我只能看到当前选项列表中的选定值。

twinColSelect.removeAllFromLeft();
twinColSelect.addItemsToLeft(internationlUsersList);

如果我的问题不明确,请发表评论。 提前致谢。 :)

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。它并不完美,但它完成了工作。

这就是我所做的,在删除所有项目之前,我保存了所选的值。 然后删除所有项目。在那之后,我添加了我的新价值观'以前保存的选定值'到项目列表。

然后可以将选定的值设置为列表

Object selectedValues=twinSelect.getValue();

twinSelect.removeAllItems();

twinSelect.addItems(newITemsList);

(Collection<?>selectedValues.forEach(o ->twinSelect.addItem(o));

twinSelect.setValue(selectedValues);