Show/Hide One2many 树上的字段 - Odoo v8
Show/Hide fields on One2many tree - Odoo v8
我在 One2many
树视图中显示了一些字段:
<page string="Budget Lines Planned">
<field name="account_budget_bsi_line" colspan="4" nolabel="1" attrs="{'readonly':[('state','!=','draft')]}">
<tree string="Budget Lines Planned" editable="bottom" >
<field name="opening_stock"/>
<field name="sales_planned" />
<field name="amount_total"/>
<field name="interauxiliary_transfers_planned" />
<field name="interauxiliary_receipts_planned" />
<field name="prod_purchased_planned" />
<field name="closing_stock_planned" />
</tree>
</field>
</page>
这来自自定义模块,该模块具有带状态的工作流,即:draft, approved, next, done
等
假设在 next
状态下,我想隐藏 opening_stock
字段,并显示其他字段。
我知道这可以通过使用 attrs="{'readonly':[('state','!=','draft')]}"
或不可见或其他方式在表单上实现。
但似乎不适用于 One2many
树视图,那么,在这种情况下我该如何实现?
我很确定没有办法动态隐藏 One2many
字段树的整个列。您可以使用 attrs
动态隐藏每行的列内容。在下面的例子中,如果该行的名称为 "Example",则在草稿状态下它将显示为空白单元格。
<field name="opening_stock" attrs="{'invisible': [('state', '!=', 'draft')]}"/>
如果您确实必须显示不同的 One2many
树视图,那么您可以尝试在视图中使用多个 field/tree 定义并在 One2many
上使用 attrs
字段本身像这样:
<field name="account_budget_bsi_line" attrs="{'invisible': [('state', '=', 'draft')]}">
<tree>
...
<field name="opening_stock"/>
...
</tree>
</field>
<field name="account_budget_bsi_line" attrs="{'invisible': [('state', '!=', 'draft')]}">
<tree>
...
<!-- Exclude field opening_stock -->
...
</tree>
</field>
我不确定这是否能满足您的需求,但这是我能想到的最接近的解决方案。
我在 One2many
树视图中显示了一些字段:
<page string="Budget Lines Planned">
<field name="account_budget_bsi_line" colspan="4" nolabel="1" attrs="{'readonly':[('state','!=','draft')]}">
<tree string="Budget Lines Planned" editable="bottom" >
<field name="opening_stock"/>
<field name="sales_planned" />
<field name="amount_total"/>
<field name="interauxiliary_transfers_planned" />
<field name="interauxiliary_receipts_planned" />
<field name="prod_purchased_planned" />
<field name="closing_stock_planned" />
</tree>
</field>
</page>
这来自自定义模块,该模块具有带状态的工作流,即:draft, approved, next, done
等
假设在 next
状态下,我想隐藏 opening_stock
字段,并显示其他字段。
我知道这可以通过使用 attrs="{'readonly':[('state','!=','draft')]}"
或不可见或其他方式在表单上实现。
但似乎不适用于 One2many
树视图,那么,在这种情况下我该如何实现?
我很确定没有办法动态隐藏 One2many
字段树的整个列。您可以使用 attrs
动态隐藏每行的列内容。在下面的例子中,如果该行的名称为 "Example",则在草稿状态下它将显示为空白单元格。
<field name="opening_stock" attrs="{'invisible': [('state', '!=', 'draft')]}"/>
如果您确实必须显示不同的 One2many
树视图,那么您可以尝试在视图中使用多个 field/tree 定义并在 One2many
上使用 attrs
字段本身像这样:
<field name="account_budget_bsi_line" attrs="{'invisible': [('state', '=', 'draft')]}">
<tree>
...
<field name="opening_stock"/>
...
</tree>
</field>
<field name="account_budget_bsi_line" attrs="{'invisible': [('state', '!=', 'draft')]}">
<tree>
...
<!-- Exclude field opening_stock -->
...
</tree>
</field>
我不确定这是否能满足您的需求,但这是我能想到的最接近的解决方案。