Hi,
A dummy question, or suggestion... I am new to Wicket and i trying to
understanding it.
I have a form with a Paginated DataView and I would like to use checkbox
(something like "old" WebMails) to select rows, and a delete button, so
I can delete multiple lines at a time.
Right now I am doing something like this:
/////////////////////////////////////////////////CODE/////////////////////////////////////////////////////////////
public class InfoList extends WebPage {
......
Form f = new InfoDataForm("form",infoProvider);
private class InfoDataForm extends Form {
SortableDataProvider dp;
HashSet<Long> selectedValues = new HashSet<Long>();
ChequeListForm(String id, SortableDataProvider dp) {
super(id);
this.dp = dp;
final DataView infoDataView = new DataView("infoList", dp) {
@Override
protected void populateItem(Item item) {
Info info = (Info) item.getModelObject();
item.add(new CheckBox("check", new
SelectItemUsingCheckboxModel(info,selectedValues)));
item.add(new Label("data1", info.data1()));
item.add(new Label("data2", info.data2()));
}
}
add(infoDataView);
@Override
protected void onSubmit() {
super.onSubmit();
for (Long i: selectedValues) {
System.out.println(i);
//delete rows here
}
}
}
private class SelectItemUsingCheckboxModel extends
AbstractCheckBoxModel {
private final Info info;
private Set selection;
public SelectCheckByChequeModel(Info info, Set selection) {
this.info = info;
this.selection = selection;
}
@Override
public boolean isSelected() {
return selection.contains(info);
}
@Override
public void select() {
selection.add(info);
}
@Override
public void unselect() {
selection.remove(info);
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
I believe that I used the dataview and dataprovider correctly, but I am
not sure about
checkbox...
Once I am learning, I would like to know if this is "the correct way" to
do that, or if not,
what I should do...
Thanks a lot
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]