Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在OpenERP的树状视图中有选择地显示或隐藏按钮_Python_Xml_Openerp_Odoo - Fatal编程技术网

Python 在OpenERP的树状视图中有选择地显示或隐藏按钮

Python 在OpenERP的树状视图中有选择地显示或隐藏按钮,python,xml,openerp,odoo,Python,Xml,Openerp,Odoo,我已将按钮(图标为绿色箭头)放置在树视图中。我只想在记录有BOM表时显示一个按钮。我确实有逻辑如何找到它,但不知道如何有选择地显示或隐藏按钮 此外,加载视图时应触发“显示”或“隐藏”按钮操作。既然没有像VisualBasic中那样的view\u on\u load事件,我该怎么做呢 以下是树视图: 以下是如何在XML文件中定义按钮: <!-- mrp_bom --> <record id="adamson_mrp_bom_form_view" model="i

我已将按钮(图标为绿色箭头)放置在树视图中。我只想在记录有BOM表时显示一个按钮。我确实有逻辑如何找到它,但不知道如何有选择地显示或隐藏按钮

此外,加载视图时应触发“显示”或“隐藏”按钮操作。既然没有像VisualBasic中那样的view\u on\u load事件,我该怎么做呢

以下是树视图:

以下是如何在XML文件中定义按钮:

<!-- mrp_bom -->
        <record id="adamson_mrp_bom_form_view" model="ir.ui.view">
            <field name="name">adamson.mrp.bom.form.view</field>
            <field name="model">mrp.bom</field>
            <field name="type">form</field>
            <field name="inherit_id" ref="mrp.mrp_bom_form_view" />
            <field name="arch" type="xml">
                <xpath expr="//notebook/page[@string='Components']/field/tree[@string='Components']/field[@name='sequence']" position="before" >
                     <button class="oe_inline oe_stat_button" type="object" string="Go!" icon="gtk-go-forward" name="action_go"  />

                </xpath>

例如,您可以使用attrs

attrs="{'invisible':[('selection_field_name','=','value')]}"
注意:我们需要给出存储在数据库中的值

试试这个

<xpath expr="//notebook/page[@string='Components']/field/tree[@string='Components']/field[@name='sequence']" position="before" >
    <button class="oe_inline oe_stat_button" type="object" string="Go!" icon="gtk-go-forward" name="action_go" attrs="{'invisible':[('type','=','normal')]}"  />
</xpath>


我不确定如何选择“选择\字段\名称”。出于这个原因,我用逻辑代码更新了我的问题。如果你能给我举个例子,那就太棒了。谢谢我可以知道您要从哪个条件字段隐藏/显示按钮吗?在代码中,我有bom_ID列表,它是特定产品是否有bom的指示器。这个列表很可能只有一个元素。如果列表为空,则使按钮不可见。如果bom\u ID列表中有一个元素,则显示按钮。bom\u ID未存储在数据库中,因此我们无法通过这些方法实现。您需要在对象上添加一个布尔字段,并将其设为默认值false。现在在代码中,如果bom_ID有值,则将其设置为true,否则为false。基于布尔字段的按钮隐藏/显示。希望你能明白。听起来是个好主意!!我有这个想法,但我对OpenERP和Python非常陌生。请给出一个代码示例:1)如何向对象添加布尔字段(我对如何添加有一个模糊的想法,但不确定)。2) 如何在代码中为该字段赋值。非常感谢你的帮助。
<xpath expr="//notebook/page[@string='Components']/field/tree[@string='Components']/field[@name='sequence']" position="before" >
    <button class="oe_inline oe_stat_button" type="object" string="Go!" icon="gtk-go-forward" name="action_go" attrs="{'invisible':[('type','=','normal')]}"  />
</xpath>