Jiri,
To add to what Bill and Trent both said, I think on the limb form you need:
- combo that allows user to choose the forest. This is an
unbound combo...they are just using it to filter the list of available trees. It uses population list settings that hit a fill method of the Forest BO, but the Forest BO isn't needed on the form at all. Likely you'll set the SelectedValue to the ID of the forest. Then setup an event handler on the SelectedIndexChanged, and requery the Tree combo.
- combo that allows user to choose the tree. This is bound, as it represents the parent of the limb. This uses population list settings that use a Fill method on the Tree BO that requires a Forest ID as a filter. As such, you'll need to have a ListPopulating event handler that sets this parameter from the SelectedValue of the forest combo above.
Now, you might need to handle a couple of other situations:
- When a record is navigated, you'll likely need to select the forest associated with the tree, so the user isn't confused/can easily change the tree within the same forest. Lots of ways to do this, but you might consider a custom field property on the limb BO. You could either look it up every time (most direct, easiest to understand/do) or you could include the field in the Fill method. Lots of options here and strictly speaking, not on topic

- If there is an existing tree set and then the user changes the forest, you'll need to clear the tree, as it won't match the forest anymore. I'd try just clearing the tree combo before requerying it in the SelectedIndexChanged event handler of the forest combo.
Hope that makes sense and is what you are looking for.