向SQLFORM.grid添加一列复选框



我想要一个网格,其中第一列不包含标题,由复选框组成,最后几列是链接列(使用'links'参数生成),中间列是使用'fields'参数从数据库字段生成的。生成复选框列的最佳方法是什么?非常感谢。

grid = SQLFORM.grid(..., selectable=lambda ids: [do something with record ids])

这将在左侧添加一列复选框,并在网格底部添加一个"提交"按钮。单击"提交"按钮时,生成网格的操作将收到选中记录的记录ID列表,这些ID将传递给"可选"参数(如上所述,该参数应该是一个可调用的参数,接受记录ID列表)。

您可以控制提交按钮的标签,甚至可以通过传递列表/元组列表作为"可选"参数来添加附加功能以应用于检查的记录:

grid = SQLFORM.grid(...,
    selectable=[('Action 1', lambda ids: [do action 1 with ids], 'class1'),
                ('Action 2', lambda ids: [do action 2 with ids], 'class2')])

在这种情况下,在网格的底部,您将获得标记为"操作1"one_answers"操作2"的按钮,并且将根据单击的按钮执行适当的操作。每个元组中的第三个元素是一个可选的CSS类,它将被添加到该操作的按钮元素中。

最新更新