On 9/9/10 10:13 AM, Nate Lowrie wrote:
> On Thu, Sep 9, 2010 at 13:07, Ed Leafe<[email protected]>  wrote:
>>         Is there only one Cursor available in a report? Is there no way to 
>> establish parent-child relationships?
>
> I can't find a way to do it and it seems the way of doing it is to
> denormalize the parent/child tables into a single DataSet. Seems
> backwards to me coming from Crystal Reports.

It's been on my mind to allow Cursor to be set to a dBizobj instance instead of 
a raw 
tuple of dicts. That way, the bizobj gets iterated during the report run, and 
therefore any children of that bizobj get requeried and iterated too.

But it adds huge layers of complications:

  + what if we want to iterate some children but not others, the reportwriter 
would 
have to look ahead and see if any of the fields are referenced, etc.

  + the expressions would have to be more explicit, so we know what bizobj to 
get the 
field value from, like:

   - <expr>self.Record.bizChild.bizChild.Record.cust_name</expr>

   instead of:

   - <expr>self.Record["cust_name"]</expr>

   or the shortcut:

   - <expr>self.cust_name</expr>

I think the implementation of reportwriter is much simpler the way it is, and 
it is 
complex enough as it is, too. But also I think that denormalizing data to feed 
to a 
report ultimately gives greater and simpler control to the appdev, too. Keeping 
that 
report form file as simple as possible is good for everyone.

Flat is better than nested.

Paul
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/[email protected]

Reply via email to