Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2 Trả lời
1394 Lượt xem

Hello, I would like to create a checkbox that makes another float field invisible or visible. I tried using the "invisible" attribute but it doesn't work. Please help me.

Ảnh đại diện
Huỷ bỏ

share code, what you have tried?

Câu trả lời hay nhất
Try this code:
Ảnh đại diện
Huỷ bỏ

<field name="your_float_field" attrs="{'invisible': [('your_checkbox_field', '=', True)]}"/>

Tác giả Câu trả lời hay nhất

.


Ảnh đại diện
Huỷ bỏ
Tác giả

Here is the code in my python file
class InheritSaleOrder(models.Model):
_inherit = 'sale.order'

overall_discount = fields.Boolean('Remise globale')
amount_overall_discount = fields.Float(string='Montant de la remise globale', invisible=True)

In my xml file:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_overall_discount" model="ir.ui.view">
<field name="name">view.order.form.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//form//sheet//notebook" position="after">
<field name="overall_discount"/>
<field name="amount_overall_discount"
attrs="{'invisible': [('overall_discount', '=', False)]}"/>
</xpath>
</field>
</record>
</odoo>

When I run it, it doesn't show the text "Remise globale" and "Montant de la remise globale" in the view.

To see label (name of field) of your fields you must insert them inside <group></group> tag. Or add label tag seperatly:
<label for="your_field_name"/>

Tác giả

I solve it by putting all my fields in a group. Thanks for your help.

Tác giả

Yes that's what I did, thanks.