Thanks alot for the response Carlos.
>> Btw, why don't you just use a listview with a model that filters out the
>> selected items?
I am currently trying to convert the RepeatingView into a ListView, but I am
having problems
setting the model on the ListView. I call populateItem with a model, but
afterwards the model
is not being set on the view.
>> And another remark: you can bind your checkbox to a boolean (see my
>> example).
I am already doing that ;)
Regards,
-- pokkie
Carlos Pita-4 wrote:
>
> Hi,
>
> it worked fine for me, I attach my own code so you can compare. Btw, why
> don't you just use a listview with a model that filters out the selected
> items? Imo it's simpler and more elegant. And another remark: you can bind
> your checkbox to a boolean (see my example).
>
> Regards,
> Carlos
>
> On 8/26/07, pokkie <[EMAIL PROTECTED]> wrote:
>>
>>
>> I have a RepeatingView that I generate, each row is represented as a
>> WebMarkupContainer.
>> At the end of each row I add a checkbox. When the "Delete Selected"
>> button
>> is called,
>> I wish to remove the selected row from the RepeatingView and update the
>> page
>> to reflect
>> this status.
>>
>> ----------------------
>> WebMarkupContainer mainExerciseItem = new
>> WebMarkupContainer(newChildId());
>>
>> add(mainExerciseItem);
>>
>> mainExerciseItem.add(new CheckBox("exerciseSelected", new
>> PropertyModel(mainMemberProgramExerciseHolder,
>> "memberProgramExerciseSelected")));
>> ----------------------
>>
>> Currently, I iterate over the items in the RepeatingView, check if they
>> are
>> selected, and
>> subsequently call remove(WebMarkupContainer).
>>
>> ----------------------
>> while (exerciseTable.iterator().hasNext()) {
>> WebMarkupContainer container = (WebMarkupContainer)
>> exerciseTable.iterator().next();
>> if
>> (container.get("exerciseSelected").getModelObjectAsString().equals(
>> StaticData.TRUE))
>> {
>> exerciseTable.remove(container);
>> }
>> ----------------------
>>
>> The problem is that it seems that after calling the remove() method, it
>> seems to be entering a loop and
>> never returns.
>>
>> I have tried to call the render() method, but haven't had any luck yet.
>>
>> Any help would be much appreciated
>>
>> -- pokkie
>> --
>> View this message in context:
>> http://www.nabble.com/RepeatingView-%3A-Removing-a-table-row-tf4331444.html#a12335918
>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> package web.repeat;
>
> import java.io.Serializable;
> import java.util.ArrayList;
> import java.util.Iterator;
> import java.util.List;
>
> import org.apache.wicket.markup.html.WebMarkupContainer;
> import org.apache.wicket.markup.html.WebPage;
> import org.apache.wicket.markup.html.basic.Label;
> import org.apache.wicket.markup.html.form.CheckBox;
> import org.apache.wicket.markup.html.form.Form;
> import org.apache.wicket.markup.repeater.RepeatingView;
> import org.apache.wicket.model.PropertyModel;
>
> @SuppressWarnings("serial")
> public class RepeatingTest extends WebPage {
>
> private static class Item implements Serializable {
>
> public final int number;
> public boolean selected = false;
>
> public Item(int number) {
> this.number = number;
> }
> }
>
> private static class ItemContainer extends WebMarkupContainer {
>
> public final Item item;
>
> public ItemContainer(String id, Item item) {
> super(id);
> this.item = item;
> add(new Label("itemNumber", new PropertyModel(item,
> "number")));
> add(new CheckBox("itemSelected", new PropertyModel(item,
> "selected")));
> }
> }
>
> private class ItemsForm extends Form {
>
> private List<ItemContainer> itemContainers = new
> ArrayList<ItemContainer>();
>
> public ItemsForm(String id) {
> super(id);
> RepeatingView itemRepeater = new
> RepeatingView("itemRepeater");
> add(itemRepeater);
> for (int i = 0 ; i < 10 ; i++) {
> ItemContainer itemContainer = new
> ItemContainer("itemContainer" + i, new Item(i));
> itemContainers.add(itemContainer);
> itemRepeater.add(itemContainer);
> }
> }
>
> protected void onSubmit() {
> Iterator<ItemContainer> itemContainerIterator =
> itemContainers.iterator();
> while (itemContainerIterator.hasNext()) {
> ItemContainer itemContainer =
> itemContainerIterator.next();
> if (itemContainer.item.selected) {
> itemContainer.remove();
> itemContainerIterator.remove();
> }
> }
> }
> }
>
> public RepeatingTest() {
> add(new ItemsForm("itemsForm"));
> }
> }
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
--
View this message in context:
http://www.nabble.com/RepeatingView-%3A-Removing-a-table-row-tf4331444.html#a12345126
Sent from the Wicket - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]