is it that the listview doesnt refresh or that your
getGroupMemberships() returns stale data? why dont you set up a
breakpoint and see what its doing

-igor

On Tue, Jun 24, 2008 at 1:08 PM, Ryan O'Hara
<[EMAIL PROTECTED]> wrote:
> Thanks for the quick response, Igor.  Unfortunately, the ListView is still
> not updating after making those changes.  Any other ideas?
>
> Thanks again,
> Ryan
>
> On Jun 24, 2008, at 3:46 PM, Igor Vaynberg wrote:
>
>> protected void populateItem(final ListItem item) {
>>  GroupMembership groupMembership = (GroupMembership)
>> item.getModelObject();
>>  item.add(new Label("group", new PropertyModel(item.getmodel(), "group"));
>>  item.add(new CheckBox("member", new PropertyModel(item.getmodel(),
>> "selected")));
>> }
>>
>> -igor
>>
>> On Tue, Jun 24, 2008 at 10:28 AM, Ryan O'Hara
>> <[EMAIL PROTECTED]> wrote:
>>>
>>> Also, tried using a LoadableDetachableModel in the ListView:
>>>
>>> ListView groupMemberRows = new ListView("groupMemberRow", new
>>> LoadableDetachableModel(){
>>>           protected Object load(){
>>>               return getGroupMemberships();
>>>           }
>>>       }) {
>>>           protected void populateItem(final ListItem item) {
>>>               GroupMembership groupMembership = (GroupMembership)
>>> item.getModelObject();
>>>               item.add(new Label("group", groupMembership.getGroup()));
>>>               item.add(new CheckBox("member", new
>>> PropertyModel(groupMembership, "selected")));
>>>           }
>>>       };
>>>
>>> Still no luck.
>>>
>>> Ryan
>>>
>>> On Jun 24, 2008, at 1:21 PM, Ryan O'Hara wrote:
>>>
>>>> I'm trying to update a ListView via AJAX.  I've looked over a bunch of
>>>> examples in the archives, but I'm still having some trouble.  I'm trying
>>>> to
>>>> wrap the ListView with a WebMarkupContainer and then update that
>>>> WebMarkupContainer.  I also created a GroupMembership object, which is
>>>> passed into the ListView.  When the form is submitted, the
>>>> List<GroupMembership> is populated fine, it's just not rendering.  Below
>>>> is
>>>> the Java and HTML.  Any help would be greatly appreciated.  Thanks!
>>>>
>>>> -Ryan
>>>>
>>>> Java:
>>>>
>>>>       groupManager = new WebMarkupContainer("groupManager");
>>>>       groupManager.setOutputMarkupId(true);
>>>>       form.add(groupManager);
>>>>
>>>>       AjaxSubmitLink submit = new AjaxSubmitLink("submit") {
>>>>           public void onSubmit(AjaxRequestTarget target, Form form) {
>>>>               try {
>>>>                   setGroupMemberships();
>>>>                   target.addComponent(groupManager);
>>>>               } catch (Exception e) {
>>>>                   error("Unable to get groups for user " + email + ".");
>>>>               }
>>>>               target.addComponent(feedbackPanel);
>>>>           }
>>>>       };
>>>>       form.add(submit);
>>>>
>>>>       ListView groupMemberRows = new ListView("groupMemberRow",
>>>> getGroupMemberships()) {
>>>>           protected void populateItem(final ListItem item) {
>>>>               GroupMembership groupMembership = (GroupMembership)
>>>> item.getModelObject();
>>>>               item.add(new Label("group", groupMembership.getGroup()));
>>>>               item.add(new CheckBox("member", new
>>>> PropertyModel(groupMembership, "selected")));
>>>>           }
>>>>       };
>>>>       groupManager.add(groupMemberRows);
>>>>
>>>> public void setGroupMemberships() {
>>>>       groupMemberships.clear();
>>>>       List<String> userGroups = groupQuery.getGroupsByUser(getEmail());
>>>>       List<String> allGroups = groupQuery.getGroups("*");
>>>>       GroupMembership groupMembership;
>>>>       for (String group : allGroups) {
>>>>           groupMembership = new GroupMembership();
>>>>           if (userGroups.contains(group)) {
>>>>               groupMembership.setGroup(group);
>>>>               groupMembership.setSelected(true);
>>>>           } else {
>>>>               groupMembership.setGroup(group);
>>>>               groupMembership.setSelected(false);
>>>>           }
>>>>           groupMemberships.add(groupMembership);
>>>>       }
>>>>   }
>>>>
>>>>   public List<GroupMembership> getGroupMemberships() {
>>>>       return groupMemberships;
>>>>   }
>>>>
>>>>
>>>> HTML:
>>>>
>>>>   <form wicket:id="manageGroups" name="manageGroups">
>>>> <table align="center" width="50%" wicket:id="groupManager">
>>>>           <tr>
>>>>               <th>Group</th>
>>>>               <th>Member</th>
>>>>           </tr>
>>>>           <tr wicket:id="groupMemberRow" class="hideRow">
>>>>               <td><span wicket:id="group"></span></td>
>>>>               <td><input wicket:id="member" type="checkbox"/></td>
>>>>           </tr>
>>>>           <tr>
>>>>               <td></td>
>>>>               <td align="right"><a wicket:id="save"
>>>> class="formButtonAlignedRight">Save</a></td>
>>>>           </tr>
>>>>       </table>
>>>>   </form>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to