Sunday, 15 September 2013

java - Wicket replacing items in ListView -



java - Wicket replacing items in ListView -

i want alter info of listview on button click.

this currently:

final pageablelistview<users> listview = new pageablelistview<users>("rows", displaylist, 10) { //.... protected void populateitem(final listitem<users> item) { item.add(new label("username").setoutputmarkupid(true)); // .. other fields } } final indicatingajaxfallbacklink<mypanel> sublist = new indicatingajaxfallbacklink<mypanel>("sublist") { public void onclick(ajaxrequesttarget target) { displaylist = // new list listview.setlist(displaylist); target.addchildren(listview, label.class); } }; add(sublist);

this works if new list same size old list. in other case an

caused by: java.lang.indexoutofboundsexception: index: 1, size: 1

how can prepare problem?

since can't update listview via target.add(listview); added webmarkupcontainer this:

final webmarkupcontainer datacontainer = new webmarkupcontainer("data"); datacontainer.setoutputmarkupid(true); add(datacontainer);

and can update onclick method:

target.add(datacontainer);

this works fine - problem solved.

but why replacing children didn't work still unclear me

java listview wicket

No comments:

Post a Comment