清除选择Wicket ListMultipleChoice

时间:2015-03-27 10:07:43

标签: wicket-6

如何以编程方式清除wicket 6.19中ListMultipleChoice组件的选择?

我有几个ListMultipleChoice组件用于过滤表。除了我重置过滤器的情况外,一切正常。 选项中的选择仍会突出显示。如何将它们重置为初始未选择状态?

清除选定的选择列表似乎不够。

以下是我尝试过的更多细节:

    sapSystemNames = new ListMultipleChoice<String>("selectedSystemNames", new IModel<List<String>>() {
        private static final long serialVersionUID = -1521113613671111638L;

        @Override
        public void detach() {
            // nothing to do here
        }

        @Override
        public List<String> getObject() {
            return selectedSystemNames;
        }

        @Override
        public void setObject(List<String> object) {
            selectedSystemNames = object;
        }

    }, new LoadableDetachableModel<List<String>>() {
        private static final long serialVersionUID = -2685944576502559429L;

        @Override
        protected List<String> load() {
            return getUniqSystemNames();
        }
    });
:

并在重置:

    if (selectedSystemNames != null) {
        selectedSystemNames.clear();
        if (target != null) {
            target.add(sapSystemNames);
        }
    }

但选择仍然可见。

1 个答案:

答案 0 :(得分:1)

您应该将空集合设置为模型。

类似于:choice.setModel(new ArrayList<MyType>())