Hi,

I have set up a simple app involving a parent-child relation. I followed the 
screencast "Using the Data Environment" part 1 and 2. I also took into account 
the following post and my app looks exactly the same (except for the names):

Got this from the following thread: 
http://www.mail-archive.com/dabo-users@leafe.com/msg14437.html
I am not aware of a screencast named "Using Data Environment".  So I can't 
directly comment.  

However, there is no way to use one bizobj and setup a parent child 
relationship.  See below of example code of a parent child relationship.  
Note that the parent is the customer class and the child is the contacts 
class.   A customer (maybe a company) can have many contacts - a one to many 
relationship.  In the child (the contact class) there are two lines of the 
class that describes the relation so Dabo can maintain the relationship.

self.LinkField = "fk_arcust"
self.ParentLinkField ="pkid" 

So when you move the customer record pointer Dabo will retrieve the contacts 
data related to the customer.  

> #the contact table
> class PubliccontactsBizobj(dabo.biz.dBizobj):
>       def afterInit(self):
>               self.DataSource = "public.contacts"
>               self.KeyField = "pkid"
>               self.addFrom("public.contacts")
>               self.addField("firstname")
>               self.addField("phone")
>               self.addField("pkid")
>               self.addField("lastname")
>               self.addField("title")
>               self.addField("custno")
>               self.addField("continent")
>               self.addField("email")
>               self.addField("cont_note")
>               self.addField("fk_arcust")
>               self.NonUpdateFields=["pkid"]
>               self.LinkField = "fk_arcust"
>               self.ParentLinkField ="pkid"
>               self.FillLinkFromParent = True

> #the customer table
> class PublicarcustBizobj(dabo.biz.dBizobj):
>       def afterInit(self):
>               self.DataSource = "public.arcustomer"
>               self.addFrom("public.arcustomer")
>               self.KeyField = "pkid"
>               self.addField("czip")
>               self.addField("city")
>               self.addField("pkid")
>               self.addField("state")
>               self.addField("company")
>               self.addField("address1")
>               self.addField("address2")
>               self.addField("country")
>               self.addField("custno")


The problem is that the child is not behaving like it does in the screencast. 
It simply displays everything from child table in the grid. In the screencast 
only the related content from the child would be shown to correspond to the 
LinkField. This can be seen in the middle of the second screencast (part 2). Is 
there something I am missing or doing wrong?
I have tested and played around with LinkField and ParentLinkField but it makes 
no difference at all. Exact same result every time. Any help would be 
appreciated.

Thanks
Dewald
PS. links to the screencasts if needed:
http://c0129431.cdn.cloudfiles.rackspacecloud.com/dataenvironment1.html
http://c0129431.cdn.cloudfiles.rackspacecloud.com/dataenvironment2.html



--- StripMime Report -- processed MIME parts ---
multipart/alternative
  text/plain (text body -- kept)
  text/html
---
_______________________________________________
Post Messages to: Dabo-users@leafe.com
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/49737c1e-cb50-4ec0-b044-7f109487b...@gmail.com

Reply via email to