Alex King schrieb:
> Following the instructions at
> http://www.turbogears.org/2.0/docs/main/ToscaWidgets/forms.html#loading-options-from-the-database,
>
> I have my form loading options from the DB. Great.
>
> Now I want to have a master/detail form (using tw.dynforms) where each
> line has a field which needs to load options from the DB.
>
> eg, in controller:
>
> class LineForm(dynforms.GrowingTableFieldSet):
> class children(core.WidgetsList):
> amount = forms.TextField(validator=forms.validators.Number)
> etype = forms.SingleSelectField()
>
> class EntryForm(dynforms.CustomisedForm, forms.TableForm):
> action = 'save_entry'
> class children(core.WidgetsList):
> date = forms.CalendarDatePicker()
> description = forms.TextField()
> elines = LineForm()
> etype = forms.SingleSelectField()
>
>
> I successfully pass options to the etype selector in my EntryForm
> instance from the template:
>
> ${entryform(child_args=dict(etype=dict(options=topts)))}
>
> but I can't find how to pass the same options to the etype selector in
> the LineForm instance...
>
> Can anyone point me in the right direction?
You need to pass child_args to the elines that contain child_args
themselves.
I'm not 100% sure because of the GrowingTableFieldSet, but it's either
directly a dict, or a list with a dict with one entry per row.
So either this
entryform.display(child_args=dict(...,
elines=dict(child_args=dict(etype=dict(...)))
)
or this:
entryform.display(child_args=dict(...,
elines=[dict(child_args=dict(etype=dict(...)), ...])
)
I presume the latter.
Diez
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---