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]