Wicket中的复选框问题

时间:2011-09-25 02:28:31

标签: wicket

我发现在获取默认情况下使用

检查的复选框计数方面存在问题

item.add(new CheckBox(“selected”,new PropertyModel(this,“checked”))。setEnabled(false));

感谢任何帮助。

我的Listview课程:

ExampleListView(String id, List<Extended> lists, PageParameters params){
protected void populateItem(ListItem<Extended> item)
{
    item.add(new CheckBox("selected",new PropertyModel(this, "checked")).setEnabled(false));
}

             boolean checked= true; 
             public boolean isChecked() { return checked; } 
             public void setChecked(boolean checked) { this.checked = checked; } 

}

这需要选中和禁用复选框(选择只读复选框)。在其他场景中我还需要有item.add(新的CheckBox(“选中”,新的PropertyModel(this,“checked”)));

如上面的代码所示,我介绍了Checked boolean,这会在UI中显示一个选中的复选框,但所选的计数列表没有增加

在My Form类构造函数中:

  public class ExampleForm{

public ExampleForm(String id, List<Extended> list, PageParameters params){

    add(new ExampleListView("Rows", list,params));

     AjaxButton<Void> button= new AjaxButton<Void>("Button"){

    @Override
    public void onClick(AjaxRequestTarget target) {

        for (Extended extn : list) {

            if (((Extended)extn).isSelected()) {       
                selected.add(extn);      
            }
        }
    };
    }

add(button); 
   }

}

my Html file :

            <input class="simpleLink" wicket:id="selected" type="checkbox"/>

Class file:

    public class Extended  implements Serializable {

                private transient boolean selected = false;

                public boolean isSelected() {
                    return selected;
                }



                public void setSelected (Boolean selected) {
                    this. selected = selected;
                }
            }

1 个答案:

答案 0 :(得分:0)

您检查的模型对于您的所有复选框都是相同的(使用PropertyModel映射到ExampleListView.checked),是否有目的?