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]

Reply via email to