Try to use the RemoveLink that is available as inner class of ListView.

Regards,
    Erik.


Op 18-06-10 18:29, jOki wrote:
Hi!!

Im trying to implement a dynamic Form, where you can add textfields and
remove as you want. The add button works fine, but the remove button always
remove the last testfield and not the selected field. For example:

Textfield1 add remove
Textfield2 add remove
Textfield3 add remove

click on remove (row textfield2) and Textfield3 is removed. It should remove
Textfield2, doesnt it?


Some code:

public class KeywordObject implements Serializable {
         private static final long serialVersionUID = 1L;
         private String keyword;

         public void setKeyword(String keyword) {
             this.keyword = keyword;
         }

         public String getKeyword() {
             return this.keyword;
         }
     }

And in the form...

List<KeywordObject>  keyList = new ArrayList<KeywordObject>();
keyList.add(new KeywordObject());

final ListView keywordView = new ListView("keywordView", keyList) {

                 @Override
                 protected void populateItem(final ListItem item) {
                     KeywordObject model = (KeywordObject)
item.getModelObject();
                     item.add(new TextField("keyword", new
PropertyModel(model, "keyword")));

                     // keyword add link
                     Link addKeyword = new Link("addKeyword",
item.getModel()) {

                         @Override
                         public void onClick() {
                             keyList.add(new KeywordObject());
                         }
                     };

                     // keyword remove link
                     Link removeKeyword = new Link("removeKeyword",
item.getModel()) {

                         @Override
                         public void onClick() {
                             KeywordObject selected = (KeywordObject)
getModelObject();
                             keyList.remove(selected);
                         }
                     };

                     item.add(addKeyword);
                     item.add(removeKeyword);
                 }
             };

             add(keywordView);
             keywordView.setReuseItems(true);


Im getting crazy about that...

Thanks.


--
Erik van Oosten
http://www.day-to-day-stuff.blogspot.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to