Hi Pedro, Here it is.
So, I basically move the question up or down the array. public void moveQuestionUp(QuestionBase question) { int idx = questions.indexOf(question); if (idx > 0) { questions.remove(question); questions.add(idx - 1, question); } } I think that the listview is being redrawn in HTML but the matrix of data underlying it (that I retrieve here in the main page) List<List<QuestionBase>> rows = QuestionProcessor.getQuestionMatrix(templateWebModel.getEntity().getQuestions(),true); does not get refreshed. I think I need to find a way to reload the data for the listview, from within my panel on a page. Cheers, Pieter On Sun, Nov 15, 2009 at 12:14 AM, Pedro Santos <pedros...@gmail.com> wrote: > Can you send the moveQuestionUp implementation? > > On Sat, Nov 14, 2009 at 9:03 PM, pieter claassen <pieter.claas...@gmail.com> > wrote: >> >> I am trying to follow wicket in action advice P263 but >> >> I have a ListView in a ListView with a panel added to my inner >> listview. On that panel, I have an AjaxLink and I want to move items >> in the order of the listview around. But to display them, I need to >> refresh my "matrix". Nothing seems to work. Any tips or references. >> >> QuestionEditPanel.html >> ================= >> <wicket:extend> >> <div id="document"> >> <span wicket:id="parent"> >> <div wicket:id="rows"> >> <span wicket:id="row"> >> <span wicket:id="question" /> >> </span> >> </div> >> </span> >> </div> >> </wicket:extend> >> >> QuestionEditPanel.java >> ================== >> >> final WebMarkupContainer parent=new WebMarkupContainer("parent"); >> add(parent); >> parent.setOutputMarkupId(true); >> List<List<QuestionBase>> rows = >> >> QuestionProcessor.getQuestionMatrix(templateWebModel.getEntity().getQuestions(),true); >> ListView rowslistview = new ListView("rows", rows) { >> >> �...@override >> protected void populateItem(ListItem item) { >> List<QuestionBase> row = (List<QuestionBase>) >> item.getModelObject(); >> ListView rowlistview = new ListView("row", row) { >> >> �...@override >> protected void populateItem(ListItem item) { >> final QuestionBase question = (QuestionBase) >> item.getModelObject(); >> item.setModel(new CompoundPropertyModel(question)); >> EditableQuestionPanel questionpanel=new >> EditableQuestionPanel("question", new >> QuestionBaseWebModel(question),templateWebModel,parent); >> item.add(questionpanel); >> .... >> >> >> and then on my EditableQuestionPanel.java I have : >> >> AjaxLink up = new AjaxLink("up") { >> >> �...@override >> public void onClick(AjaxRequestTarget target) { >> target.addComponent(parent); >> Template template = templatemodel.getEntity(); >> template.moveQuestionUp(question); >> tf.store(template); >> } >> }; >> -- >> Pieter Claassen >> musmato.com >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> > > > > -- > Pedro Henrique Oliveira dos Santos > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org