• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: [Wonder-disc] ERXDisplayGroup setQualifier behaviour
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Wonder-disc] ERXDisplayGroup setQualifier behaviour


  • Subject: Re: [Wonder-disc] ERXDisplayGroup setQualifier behaviour
  • From: Amedeo Mantica <email@hidden>
  • Date: Sun, 03 Feb 2013 12:23:37 +0100

Hi,…ciao :-) Daniele

there is something that set null to _displayGroup after the page render ?

Seems like that when u click on the link the displayGroup() method is called again and resets the _displayGroup array (is something had set it to null).
Put a braakpoint there and check.

Amedeo

On 28/gen/2013, at 16:39, Daniele Corti <email@hidden> wrote:

Hi everyone, 
my app is doing something of strange, and I don't understand what it's wrong with my code.

I've some Entities that I've to display in a table, so I use the ERXDisplayGroup class.

Here an example:

public ERXDisplayGroup<Collaborator> displayGroup() {

    // IF Null instantiate it
    if(_displayGroup == null){
          _displayGroup = new ERXDisplayGroup<Collaborator>();

          EOArrayDataSource dataSource = new EOArrayDataSource(EOClassDescription.classDescriptionForEntityName(Collaborator.ENTITY_NAME), editingContext());

          //Check user is logged in
          if(session().hasUserLogged()){
               //Check if user has chose the company
               if(session().hasChoosedCompany()){
                     dataSource.setArray(Collaborator.fetchCollaboratorsForCompany(editingContext(), session().company()));
               }
         }
          _displayGroup.setDataSource(dataSource);
          _displayGroup.setCurrentBatchIndex(1);
           _displayGroup.setNumberOfObjectsPerBatch(NUMBER_OF_OBJECTS_PER_BATCH);
          _displayGroup.fetch();
    }    
    return _displayGroup;
}

this method is called as binding in the loop component:
<wo:loop list = "$displayGroup.displayedObjects" item = "$object">

and the object binding is simply a variable of the component.
private Collaborator object;
//With public getter and setter

on each row I've a link that call:

public WOActionResults selectObj() {
      this.parent().takeValueForKey(object, "selectedCollaborator");
      return performParentAction("selectCollaborator");
}


Ok, I'm able to filter the list using the setQualifier method of the DisplayGroup:

public void setQualifier(EOQualifier qualifier){
    displayGroup().setQualifier(qualifier);
    displayGroup().fetch();
}

public EOQualifier qualifier() {
    return null;
}


I call the list component passing the qualifier binding in the parent componet:

<wo:CollaboratorsList qualifier = "$qualifier"></wo:CollaboratorsList>

When I pass a qualifier the page show the filtered list correctly. 

The problem is: when I click on the link with action = "" of the, for example, 2nd object of filtered list, the object variable in the class does not contain the instance related to the selected row, but the instance in the second position of the full list of objects in the displayGroup.

Example:

a table with:

-------------------------------------------------------------------
| link | Mario Rossi | The Address 1 | His City |
-------------------------------------------------------------------
| link | John Smith | The Address 2 |      City2 |
-------------------------------------------------------------------
| link | Francis Cabret | The Address| His City |
-------------------------------------------------------------------
....
-------------------------------------------------------------------

I filter the list for name LIKE "*John Smit*" and get only one row.

-------------------------------------------------------------------
| link | John Smith | The Address 2 |      City2 |
-------------------------------------------------------------------

but when I click on the link, in the action selectObj(), the object variable contains the instance for Mario Rossi. 

That's strange for me...

I thought this should have work, but, evidently, is not so!

Which is the correct way to use the ERXDisplayGroup.setQualifier method?

Thanks in advance!
--
Daniele Corti
--
I DON'T DoubleClick
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, _javascript_ and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d_______________________________________________
Wonder-disc mailing list
email@hidden
https://lists.sourceforge.net/lists/listinfo/wonder-disc

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Prev by Date: Re: Getting the App Instance
  • Next by Date: "Dynamic Elements" recording from WOWODC 2012
  • Previous by thread: Re: Getting the App Instance
  • Next by thread: "Dynamic Elements" recording from WOWODC 2012
  • Index(es):
    • Date
    • Thread