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]

Reply via email to