我正在研究 Dexterity 的行为,并为此使用了collective.z3cform.datagridfield。
这应该是:
+----+-------+----+
| title | value | link |
+----+-------+----+
tile = schema.TextLine
value = schema.TextLine
link = schema.Choice (Related Widget)
这是我的代码:
class IDifferentiation(form.Schema):
title = schema.TextLine(title=_(u'Title for this element', default=u'Title for this element'), required=True)
value = schema.TextLine(title=_(u'Text for this element', default=u'Text for this element'), required=False)
form.widget(downloads=RelatedItemsFieldWidget)
link = schema.Choice(
title=_(u"Person"),
source=UUIDSourceBinder(),
required=True)
class IDifferentiationBox(form.Schema):
""" """
form.widget(differentiation=DataGridFieldFactory)
differentiation = schema.List(
title=_(u"Differentiation"),
value_type=DictRow(title=_(u"Facts"), schema=IDifferentiation)
)
但是对于“链接”字段,我只得到一个 Select-Dropdown 或一个 In-Out-Widget(取决于使用的 Widget),没有可供选择的数据/内容类型。