在Odoo表单视图中向网格的右列添加按钮

时间:2017-06-14 20:18:24

标签: openerp

如何在Odoo 10的表单视图中向右侧列添加按钮?例如,我正在使用以下字段扩展sale.order.form视图:

<xpath expr="//div[@name='carrier_selection']" position="after">

    <field name="x_shipping_method_id" options="{'no_create': True, 'no_open': True}"/>

    <field name="x_shipping_cost"/>

    <field name="x_staff_notes" attrs="{'invisible': [('x_staff_notes', '=', False)]}"/>

    <field name="x_custom_products" attrs="{'invisible': [('x_custom_products', '=', False)]}"/>

    <field name="x_is_custom_products_acknowledged" invisible="1"/>

    <button name="434" type="action" string="Acknowledge Custom Products" class="oe_highlight" attrs="{'invisible': ['|',('x_custom_products', '=', False),'&amp;',('x_custom_products', '!=', False), ('x_is_custom_products_acknowledged', '=', True)]}"/>

</xpath>

这会导致新字段添加到网格中,左侧是标签,右侧是值。我希望将button元素添加到此网格的右侧列。目前它位于左侧列中的标签下方,但我希望它位于右侧列中的值下方。 Odoo可以实现吗?

这是一个篡改的屏幕截图,试图展示我想要实现的目标。我只是希望按钮位于一个新行中,但在右列中对齐,其值高于它。 enter image description here

1 个答案:

答案 0 :(得分:2)

如果您只想显示值而不显示标签,那么您可以执行类似的操作,

<field name="x_shipping_cost" nolabel="1" />

然后你可以打印标签

<label for="x_shipping_cost" />

通过这种方式,您的值首先打印,然后标签将打印在右侧。

然而,我并没有更多地了解你想要做什么,所以我只是解释你可以做什么来打印左边的值和右边的标题。如果您还需要其他任何内容,请澄清。

解决方案:只需添加空标签

即可实现
<label string=""/> 
<button name="434" type="action" string="Acknowledge Custom Products" class="oe_highlight" attrs="{'invisible': ['|',('x_custom_products', '=', False),'&amp;',('x_custom_products', '!=', False), ('x_is_custom_products_acknowledged', '=', True)]}"/>