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]