2014-09-26 75 views
1

我试图在现有的OpenERP7视图中隐藏名为street2的字段,只有在名为is_company的字段值为True。我必须使用继承来完成此操作,因此我使用名为res.partner.extended.form的表单创建了一个新视图,该表单从我要修改的视图继承而来(base.view_partner_form)。如何隐藏OpenERP7视图中的现有字段?

为了street2看不见,我离开了我的遗传形式是这样的:

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
     <record model="ir.ui.view" id="res_partner_extended_view"> 
      <field name="name">res.partner.extended.form</field> 
      <field name="model">res.partner</field> 
      <field name="inherit_id" ref="base.view_partner_form" /> 
      <field name="type">form</field> 
      <field name="arch" type="xml"> 
       <xpath expr="/form//field[@name='street2']" position="attributes"> 
        <attribute name="invisible">1</attribute> 
       </xpath> 
      </field> 
     </record> 
    </data> 
</openerp> 

可是这样一来,我做了场无形的,与任何条件。只有在is_company的值为True时,我需要使其不可见。所以我尝试了几种方法,但我无法管理它。下一行是我失败的尝试之一:

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
    <data> 
     <record model="ir.ui.view" id="res_partner_extended_view"> 
      <field name="name">res.partner.extended.form</field> 
      <field name="model">res.partner</field> 
      <field name="inherit_id" ref="base.view_partner_form" /> 
      <field name="type">form</field> 
      <field name="arch" type="xml"> 
       <xpath expr="/form//field[@name='street2']" position="attributes"> 
        <attribute name="invisible">[('is_company', '=', 'True')]</attribute> 
       </xpath> 
      </field> 
     </record> 
    </data> 
</openerp> 

任何人都知道如何管理它?我接近答案吗?任何帮助将不胜感激。先谢谢你。

回答

2

试试这个,

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
<data> 
    <record model="ir.ui.view" id="res_partner_extended_view"> 
     <field name="name">res.partner.extended.form</field> 
     <field name="model">res.partner</field> 
     <field name="inherit_id" ref="base.view_partner_form" /> 
     <field name="type">form</field> 
     <field name="arch" type="xml"> 
      <field name='street2' position="attributes"> 
       <attribute name="attrs">{'invisible': [('is_company', '=', True)]}</attribute> 
      </field> 
     </field> 
    </record> 
</data> 

+0

太谢谢你了!!!!!!!!!!我试图用“attrs”进行其他尝试,但我不知道我必须将内容放在{}之间。谢谢!! – forvas 2014-09-26 08:52:18

+0

你可以使用直接字段标签,比如'field'或者给出'xpath expr ='完整路径'中的字段完整路径' – 2014-09-26 09:09:24

+0

很高兴知道!非常感谢您的帮助! – forvas 2014-09-26 09:27:52