2015-05-07 101 views
0
private ArrayList<MFRList> list; 
private ArrayList<STUList> list1 = new ArrayList<STUList>(); 


public ResultPage(PageParameters params) throws APIException { 

Form form = new Form("form"); 
    PageableListView view = new PageableListView("view", list, 10) { 

     @Override 
     public void onConfigure() { 
      super.onConfigure(); 
      setVisible(list.size() > 0); 
     } 

     @Override 
     protected void populateItem(ListItem item) { 

      final StuList stu= (StuList) item.getModelObject(); 
      item.add(new CheckBox("check", item.getModel())); 
      item.add(new Label("name", stu.getName())); 
      item.add(new Label("num", stu.getNumber())); 
      item.add(new Label("age", stu.getAge())); 
      item.add(new Label("sex", stu.getSex())); 
     } 
    }; 

    Button backtosearchbutton = new Button("backtosearchbutton") { 

     @Override 
     public void onSubmit() { 
      setResponsePage(SearchPage.class); 
     } 
    }.setDefaultFormProcessing(false); 
    Button groupcheckbutton = new Button("groupcheckbutton") { 

     @Override 
     public void onSubmit() { 
     } 
    }.setDefaultFormProcessing(false); 
    Button groupuncheckbutton = new Button("groupuncheckbutton") { 

     @Override 
     public void onSubmit() { 
     } 
    }.setDefaultFormProcessing(false); 
    Button submitselectionbutton = new Button("submitselectionbutton") { 

     @Override 
     public void onSubmit() { 
     } 
    }.setDefaultFormProcessing(true); 
    form.add(view); 
    form.add(backtosearchbutton); 
    form.add(submitselectionbutton); 
    form.add(groupuncheckbutton); 
    form.add(groupcheckbutton); 
    add(form); 
    add(new CustomPagingNavigator("navigator", view)); 

複選框在pageablelistview在檢票口

如何在所選擇的記錄,我如何使用它。我明白,在表單提交這些記錄提交,但我不清楚如何以及在哪裏。

和我的POJO是

public class MFRList implements Serializable { 

private String name; 
private String num; 
private String age; 
private String sex; 
private Boolean selected = Boolean.FALSE; 

public String getName() { 
    return Name; 
} 

public void setName(String Name) { 
    this.Name = Name; 
} 

public String getnum() { 
    return num; 
} 

public void setnum(String num) { 
    this.num = num; 
} 

public String getAge() { 
    return age; 
} 

public void setsex(String sex) { 
    this.sex= sex; 
} 

public String getsex() { 
    return sex; 
} 

public void setage(String age) { 
    this.age = age; 
} 

public Boolean getSelected() { 
    return selected; 
} 

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

} 

其中選定的行保存的,我怎麼能檢索和使用它。

由於提前

回答

1

您應該使用支票,而不是CheckGroup:

公共ResultPage(PageParameters PARAMS)拋出ApiException {

Form form = new Form("form"); 

CheckGroup selection = new CheckGroup("selection", new ArrayList()); 
selection.setRenderBodyOnly(false); 
form.add(selection); 

PageableListView view = new PageableListView("view", list, 10) { 

    @Override 
    public void onConfigure() { 
     super.onConfigure(); 
     setVisible(list.size() > 0); 
    } 

    @Override 
    protected void populateItem(ListItem item) { 

     final StuList stu= (StuList) item.getModelObject(); 
     item.add(new Check("check", item.getModel())); 
     item.add(new Label("name", stu.getName())); 
     item.add(new Label("num", stu.getNumber())); 
     item.add(new Label("age", stu.getAge())); 
     item.add(new Label("sex", stu.getSex())); 
    } 
}; 
selection.add(view); 

這樣ArrayList中傳遞給CheckGroup構造總會包含選定的對象。

+0

嗨,感謝您的簡單解決方案,我早些時候嘗試過,但做了一個根本性的錯誤,現在我知道在哪裏。現在我有另一個問題,當我使用分頁導航到下一組列表時,我丟失了存儲在數組列表中的選定數據。當列表視圖分頁時,我怎樣纔不會丟失arraylist中的數據?謝謝 – UKK

0

我得到了我試圖acheive但如果它是最佳的解決方案我沒有su7re。

我創建了自己的模式和選項被選中時添加的對象列表。 類SelectedCheckBoxModel擴展AbstractCheckBoxModel {

private final STUList info; 
    private ArrayList<STUList> list1; 

public SelectedCheckBoxModel(STUList info, ArrayList<STUList> list1) { 
    super(); 
    this.info = info; 
    this.list1 = list1; 
} 

@Override 
public boolean isSelected() { 
    // TODO Auto-generated method stub 
    return list1.contains(info); 
} 

@Override 
public void select() { 
    // TODO Auto-generated method stub 
    list1.add(info); 

} 

@Override 
public void unselect() { 
    // TODO Auto-generated method stub 
    list1.remove(info); 

} 

和我把它叫做在我的列表視圖

check = new CheckBox("check", new SelectedCheckBoxModel(stu, list1)); 
item.add(check); 

這是不是最佳請建議

謝謝