Web2Py SmartGrid Заголовки - PullRequest
       8

Web2Py SmartGrid Заголовки

0 голосов
/ 23 января 2019

Я пытаюсь установить метки заголовка в SmartFrid SQLFORM. Я понимаю, что аргумент заголовка должен быть словарем, который указывает, к какой таблице относится параметр, но мне трудно заставить все выстроиться в линию, как я и ожидал.

В приведенном ниже коде используется заголовок по умолчанию. Я пробовал различные комбинации заголовков, но изо всех сил пытаюсь получить что-нибудь, чтобы иметь эффект.

Модель

db.define_table('parent',
            Field('ParentName', type='string'),
            Field('ParentDescription', type='string'),
            format='%(ParentName)s'
           )

db.define_table('child',
                Field('ChildName', type='string'),
                Field('ChildDescription', type='string'),
                Field('Parent', 'reference parent')
               )

Контроллер

def index(): 
grid = SQLFORM.smartgrid(db.parent,
                         linked_tables=['child'],
                         user_signature=False,
                         headers={'parent':{'parent.parentName':'parent'}}
                        )

return dict(grid=grid)

1 Ответ

0 голосов
/ 23 января 2019

Имена полей чувствительны к регистру.У вас есть:

headers={'parent':{'parent.parentName':'parent'}}

parentName должно быть ParentName, что соответствует имени в определении поля.

Кроме того, более простой подход - просто указать собственную метку для поля:

db.define_table('parent',
    Field('ParentName', label='parent', type='string'),
    ...)

или динамически в определенном контексте:

db.parent.ParentName.label = 'parent'
...