带复选框的GWT树:如何获取所有选中的树项目?

时间:2011-09-23 09:14:30

标签: gwt

我正在使用GWT 2.3。在我的应用程序中,我使用GWT Tree和复选框。 这是我创建树的代码

formTree = new Tree();
                        if (formList != null && formList.size() > 0) {
                            for (Form form : formList) {
                                TreeItem item = new TreeItem(new CheckBox(form.getName()));
                                formTree.addItem(item);
                            }
                        }

在这棵树中,我使用每个树项的复选框。现在点击按钮我想要所有已检查的树项目。我没有得到如何获得所有选定的树项目。请帮助我。谢谢提前。

1 个答案:

答案 0 :(得分:4)

我建议扩展TreeItem以满足您在此处的实际目的:让它创建基于复选框的项,这样您就可以访问复选框值。目前,您必须循环,获取每个孩子的孩子,投射到Checkbox类,然后检查属性。这些都不是好的做法,因此扩展它实际上是唯一聪明,有效和有效的方法。

话虽如此,如果真的必须如此,你可以这样做:

for(int i = 0; i < tree.getItemCount(); i++) 
{
    TreeItem item = tree.getItem(i); 
    CheckBox itemCheckBox = (CheckBox)item.getWidget();
    boolean checkBoxValue = itemCheckBox.getValue().booleanValue();
    // do something w/ checkBoxValue...
}