我正在设置一个模型的多个视图(树,窗体)。
我有两个树视图和窗体视图,需要在其中打开树2视图作为记录。
在单击树2记录时,请打开Form 2作为详细信息页面。 目前,我已设置树视图序列1正常运行,但仍打开Form 1而不是Form2。
我该怎么做?
答案 0 :(得分:0)
如果要指定要使用的视图,则可以添加context
属性,并为所支持的每种视图类型指定一个视图ID,就像操作的view_id
属性一样:
<字段名=“ order_line” colspan =“ 4” nolabel =“ 1” context =“ {'form_view_ref':'module.view_id','tree_view_ref':'model.view_id'}” />
如果您未指定视图,OpenERP将按以下顺序选择一个视图:
注意
上下文密钥被命名为<view_type>_view_ref
。
注意
默认情况下,OpenERP将永远不会使用未为您的对象定义的视图。如果您有两个具有相同字段但模型名称不同的模型,则即使一个模型继承了另一个模型,OpenERP也将永远不会将一个视图用于另一个视图。
您可以通过在操作或上下文中手动指定视图来强制执行此操作。
答案 1 :(得分:0)
您可以使用以下代码:
<act_window id="action_books2"
name="All books"
res_model="library.books"
view_mode="tree,form"
domain="[--any domain--]"
context="{'--any context--'}" />
然后为树视图定义操作,为窗体view定义另一个操作:
<record id="action_books2_tree" model="ir.actions.act_window.view">
<field name="act_window_id" ref="action_books2" />
<field name="view_id" ref="view_all_books2_tree" />
<field name="view_mode">tree</field>
<field name="sequence" eval="2"/>
</record>
<record id="action_all_books2_form" model="ir.actions.act_window.view">
<field name="act_window_id" ref="action_all_books2" />
<field name="view_id" ref="view_books2_form" />
<field name="view_mode">form</field>
<field name="sequence" eval="2"/>
</record>