On Sep 26, 2013, at 4:41 AM, Fabian Peters <lists.fab...@e-lumo.com> wrote:

> Hi Ted,
> 
> Am 26.09.2013 um 01:51 schrieb Theodore Petrosky:
> 
>> yea sometimes the original answer to a post was over my head and I didn't 
>> understand something, so I gave up.
>> 
>> I have your solution working beautifully. I hope this helps me to understand 
>> the delegates more.
>> 
>> but here is an issue.
>> 
>> here is the method that returns the QueryPage:
>> 
>> public WOComponent queryBillboardAction() {
>>   QueryPageInterface qpi = (QueryPageInterface) 
>> D2W.factory().queryPageForEntityNamed("Grid", session());
>> 
>>   ((D2WComponent) qpi).d2wContext().takeValueForKey("ListBillboard", 
>> "navigationState");
>>   ((D2WComponent) qpi).d2wContext().takeValueForKey("QueryBillboard", 
>> "pageConfiguration");
>> 
>>   return (WOComponent) qpi;
>> 
>> }
>> 
>> of course this is a 'subselect' of the entity 'Grid'. so the page that 
>> returns is a ListGrid page.
>> 
>> How can I control this? It needs to be a ListBillboard page.
> 
> If your query page should return a list of billboards, then I guess the query 
> page should be one for billboards. If a billboard has some relation to grid, 
> you can still query for grid attributes by specifying key-paths from 
> billboard. Something like "billboard.grids.id".

it's the other way around. I have an entity 'Grid'. this entity has a boolean 
attribute isBillboard. I have created a tab that gives a listing of a subset of 
Grid where isBillboard is true.
In the action method that returns the ListGrid page, I set the navigationState:

>>>>> ((D2WComponent) lpi).d2wContext().takeValueForKey("ListBillboard", 
>>>>> "navigationState");

I have a search button that I set the delegate to return Grid entities where 
isBillboard is true.

Unfortunately, when you do a query, the returning page is a 'ListGrid' page (As 
the entity is Grid). I am looking for a way such that when this ListGrid page 
is returned, I can set the navigationState to 'ListBillboard'.

I could make this easy on myself and create a view on the backend called 
Billboard. (CREATE VIEW billboard AS SELECT * FROM t_grid WHERE isbillboard = 
true). I could even set up some rules and triggers on the backend that would 
make it updatable. Then I could just treat it as a separate entity and be done.

But I thought I would just stay on the WO side of things.


> 
> Fabian
> 
>> Thank you for your patience.  When I first read your solution over a year 
>> ago I felt it was too complex as I didn't have the knowledge to understand 
>> it. Funny what another year looking at this stuff can do.
>> 
>> Ted
>> 
>> 
>> On Sep 25, 2013, at 4:26 PM, David Holt <programming...@mac.com> wrote:
>> 
>>> Nothing like a little deja vu, including the original poster.
>>> 
>>> :-)
>>> 
>>> 
>>> On 2013-09-25, at 12:40 PM, Johnny Miller <jlmil...@kahalawai.com> wrote:
>>> 
>>>> Like this?
>>>> 
>>>> http://lists.apple.com/archives/webobjects-dev/2012/Apr/msg00260.html
>>>> 
>>>> 
>>>> On Sep 25, 2013, at 9:23 AM, Theodore Petrosky <tedp...@yahoo.com> wrote:
>>>> 
>>>>> I have an entity 'Grid' that has an attribute 'isBillboard'. I created 
>>>>> the list billboard tab with:
>>>>> 
>>>>> public WOComponent listBillboardAction() {
>>>>> 
>>>>> EOEditingContext ec = ERXEC.newEditingContext();
>>>>> ListPageInterface lpi = (ListPageInterface) 
>>>>> D2W.factory().pageForConfigurationNamed("ListGrid", session());
>>>>> 
>>>>> EODatabaseDataSource ds = new EODatabaseDataSource(ec, "Grid");
>>>>> 
>>>>> ERXFetchSpecification<Grid> fs =  new 
>>>>> ERXFetchSpecification<Grid>(Grid.ENTITY_NAME, 
>>>>> Grid.IS_COMPLETE.eq(false).and(Grid.IS_BILLBOARD.eq(true)), null);
>>>>> 
>>>>> ds.setFetchSpecification(fs);
>>>>> 
>>>>> lpi.setDataSource(ds);
>>>>> 
>>>>> ((D2WComponent) lpi).d2wContext().takeValueForKey("ListBillboard", 
>>>>> "navigationState");
>>>>> 
>>>>> return (D2WPage) lpi;
>>>>> }
>>>>> 
>>>>> 
>>>>> How can I apply the same limit to a Query page? I don't want to put a 
>>>>> control on the page to select 'isBillboard', i want isBillboard to be true
>>>>> 
>>>>> 
>>>>> public WOComponent queryBillboardAction() {
>>>>> QueryPageInterface qpi = (QueryPageInterface) 
>>>>> D2W.factory().queryPageForEntityNamed("Grid", session());
>>>>> 
>>>>> ((D2WComponent) qpi).d2wContext().takeValueForKey("ListBillboard", 
>>>>> "navigationState");
>>>>> 
>>>>> return (WOComponent) qpi;
>>>>> 
>>>>> }
>>>>> _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>> https://lists.apple.com/mailman/options/webobjects-dev/jlmiller%40kahalawai.com
>>>>> 
>>>>> This email sent to jlmil...@kahalawai.com
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Do not post admin requests to the list. They will be ignored.
>>>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>>>> Help/Unsubscribe/Update your Subscription:
>>>> https://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.com
>>>> 
>>>> This email sent to programming...@mac.com
>>> 
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/lists.fabian%40e-lumo.com
>> 
>> This email sent to lists.fab...@e-lumo.com
> 
> 
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/tedpet5%40yahoo.com
> 
> This email sent to tedp...@yahoo.com


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to