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]