Thanks, again, Igor. I'm certain that getGroupMemberships() is returning good data, so it seems the listview isn't refreshing. I'll play around with it some more. Thanks for the help. I'll let you know if/when I find a solution.

Ryan

On Jun 24, 2008, at 5:01 PM, Igor Vaynberg wrote:

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]




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

Reply via email to