在定义act_window时,每个属性值的含义是什么,例如;
<record id="open_estimate_quantity_extra_request" model="ir.actions.act_window">
<field name="name">Extra Requests</field>
<field name="res_model">estimate.quantity.extra.request</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
在上面的代码中,form
的值为view_type
,tree,form
的值为view_mode
是什么意思。据我所知,view_mode
告诉odoo显示estimate.quantity.extra.request
模型的树视图和表单视图。但view_type
的目的是什么?
答案 0 :(得分:2)
嗯,基本上,视图模式显示了从菜单项或任何其他项加载后,特定模型的树/表单视图右上角的视图切换器中可用的视图的顺序和数量方式。
如果你将视图模式设置为树,那么将显示第一个树视图,然后单击其中一个记录后将打开表单视图,序列也将与第一个树相同,然后形成在视图右上角的视图切换器中从左到右查看。
但是视图类型意味着如何打开记录,意味着如果将其设置为表单,那么当您单击树视图中的某个记录时,如果您创建新记录,它将在窗体视图中打开将打开一个空的表单视图,
但是如果视图类型设置为树,那么当您单击该记录时,它将不会在表单视图中打开,并且当您创建新记录时,它将在树视图中创建为新行
答案 1 :(得分:1)
view_mode,如果定义视图模式列表和序列:
<field name="view_mode">tree,form,graph,...</field>
但是当你选择树时,查看type_type有两个(树或形式),你可以制作一个特殊的分层树最好的例子
但是当您将type_view从树更改为form时,无法看到所有子记录:
view_type它用于层次结构树视图,请参阅帐户模块以查看您需要计算级别字段的方式,并且您需要一个one2many字段子记录集
参见模型_name = "account.financial.report"
[编辑]: 关键在于树和动作
<record id="view_account_report_tree_hierarchy" model="ir.ui.view">
<field name="name">account.report.hierarchy</field>
<field name="model">account.financial.report</field>
<!-- this field one2many field and the compute field level -->
<field name="field_parent">children_ids</field>
<field name="arch" type="xml">
<tree string="Account Reports Hierarchy">
<field name="name"/>
<field name="type"/>
<field name="parent_id" invisible="1"/>
<field name="account_report_id"/>
</tree>
</field>
</record>