нужна подсказка для встроенного автозаполнения web2py.Виджет web2py autocomplete не работает
в контроллере: db.otc_products.counterparty.widget = SQLFORM.widgets.autocomplete (запрос, db.counterparty.Long_Name, limitby = (0,10), min_length = 2)
в модели:
db.define_table ('otc_products', поле ('контрагент', 'ссылка контрагента, виджет = SQLFORM.widgets.autocomplete (запрос, db.counterparty.Long_Name, id_field = db.counterparty.id, limitby = (0,20), min_length = 2)), ...
db.define_table («контрагент», поля («параметр long_name»), ...
Приведенного sqlform.grid возвращает сетку, которая показывает поле контрагента быть регулярным полем таблицы вместо виджета, не говоря уже о виджетах autocompelete.
Какая конфигурация должна быть изменена здесь, чтобы показать показанный и работающий виджет автозаполнения.
благодарит за пользователя advance! проверьте ссылку выше для снимка сетки tge.
Вы говорите, что сетка содержит «обычное поле таблицы вместо виджета». Но сетка должна показывать данные, хранящиеся в записях базы данных. Виджеты - это формы, а не сетка. Виджет автозаполнения предназначен для заполнения пустого поля формы с единственным значением, взятым из всего столбца таблицы базы данных. С другой стороны, ячейка в сетке предназначена для отображения существующего значения определенного поля в конкретной записи. Вы хотите, чтобы вы могли редактировать записи в строке в сетке? Если это так, обратите внимание, что сетка не включает такие функции. – Anthony
@ Энтони, поэтому виджет автозаполнения не используется для sqlform.grid? это точно. на уровне виджета большинство виджета поддерживают сетку, однако, как и в моем снимке, вы можете видеть другие столбцы, кроме того, что контрагенты являются встроенными изменениями, dela_id - это StringWidget, второй столбец - OptionWidget.those были определены в моем контроллере, как показано ниже и они действительно работают для grid: db.otc_products.DealID.represent = lambda value, row: string_widget (db.otc_products.DealID, value, ** {'_ name': 'DealID_row_% s'% row.id}) –