2013-10-12 28 views
0

我需要根據另一個字段的值來控制字段的可見性。另一個領域是一個參考。我認爲我需要以與我在browsesearch方法中使用的模塊幾乎相同的方式進行查找。但如何看待?如何在表單視圖中執行查找 - OpenERP 7

查看:

<field name="org_no" attrs="{'invisible':[('country_id','!=','Sweden')]}"/> 

模型(標準res.partner):

country_id: fields.many2one('res.country', 'Country') 

回答

0

撇開硬編碼,你很可能有它。只要確保country_id字段在表格中,以便它可以在org_no的attrs中使用。如果你不想讓用戶看到國家,只要把它放在一個看不見的領域。

+0

V7中選擇了該國的ID,COUNTRY_ID是來自res.country模型的外部參考。因此,在表單中,我只能看到內部參考 - 與國家相關的一些數字ID(顯然可能不同於安裝)。無論如何,我找到了一種方法來做到這一點'fields_view_get'的幫助下,也在這裏描述http://stackoverflow.com/questions/18208799/openerp-compare-fields-using-external-id – Dada

0

field_view_get是一個靜態解決方案問題,其中一旦您在域上設置值,視圖將遵循這一點,所以如果這是您的要求,您可以使用它。

或者您可以使用下面的解決方案來獲得更好的動態行爲。

  1. 取一個Boolean字段在您想要控制可見性的對象上,並將其作爲隱形添加到字段中。
  2. 編寫on_change根據您想要控制可見性的內容以及使用on change方法您可以設置上述布爾值字段的值。
  3. 使用attrs上的第一步boolean字段可使字段按需顯示。

謝謝

+0

不確定你所說的靜態在這裏,調用神祕的(因爲找不到任何文檔或不錯的例子)'field_view_get'中的'setup_modifiers'(如前面提到的例子) - 使它非常動態(即跟隨字段上的更改並動態更新整個表單)。 – Dada

0

您可以直接使用此:

<field name="org_no" attrs="{'invisible':[('country_id.name','!=','Sweden')]}"/> 

因爲COUNTRY_ID只是存儲是在您的many2one場

+0

這是我第一次嘗試 - 在域[[「country_id.name」,「!=」,「Sweden」]]中獲得了Unknown field country_id.name' – Dada

相關問題