Alex King schrieb: > > > On Aug 2, 12:14 am, "Diez B. Roggisch" <[email protected]> wrote: >> Alex King schrieb: >> >> >> >>> Following the instructions at >>> http://www.turbogears.org/2.0/docs/main/ToscaWidgets/forms.html#loadi..., >>> 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 > > Hmm, > > The first results in no error, but the options are not loaded, and the > second a traceback. (Post traceback didn't seem to work.) The > traceback ends with:
I had a look myself - and also have to admit being defeated. tw.dynforms uses a rather complex widget-substructure that makes reaching down to the actual children complicated, and I failed as well. I will see if I can somehow make that easier. 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 -~----------~----~----~----~------~----~------~--~---

