2016-11-16 56 views
0

我有模型存儲爲運動員和樹視圖插入來自動態地隱藏在樹視圖odoo場和行9

模型的代碼會導致培訓效果是:

class GeneralFitnessDetails(Model): 

    _name = 'general_fitness_details' 
    generalFitnessDetails = Many2one("general_fitness") 
    player = Many2one('player') 
    exercise = Many2one("exercise") 
    exercise_state = Selection([('by_reps', 'By Reps'), 
           ('by_time', 'By Time'), 
           ('by_distance', 'By Distance'), 
           ('by_weight', 'By Weight')]) 
    reps = Integer(string='Reps') 
    time_sec = Integer(string='Seconds') 
    weight = Integer(string='Weight/KG') 
    distance = Integer(string='Distance/Meters') 

這裏的視圖代碼

<tree> 
<field name="player"/> 
<field name="exercise"/> 
<field name="exercise_state"/> 
<field name="reps" invisible="[('exercise_state', '=', 'by_reps')]"/> 
<field name="time_sec" invisible="[('exercise_state', '=', 'by_time')]"/> 
<field name="weight" invisible="[('exercise_state', '=', 'by_weight')]"/> 
<field name="distance" invisible="[('exercise_state', '=', 'by_distance')]"/> 
</tree> 

我需要的是創建一個按鈕,其功能是:onClick,它根據運動狀態過濾樹視圖中顯示列的可見性;因此,如果運動狀態的值是「by_distance」,那麼它只顯示保存距離值的列

另外,可見性必須自動更改,以便如果運動狀態變爲「by_weight」,它會更改爲等等 。

回答

0

即使使用attrs或直接使用不可見屬性,也無法有條件地隱藏樹視圖中的字段。

原因是樹形視圖包含多個記錄,所以無法隱藏1個記錄的字段,而對其他人可見,因爲標題對所有記錄都是通用的。這就是爲什麼隱形在樹視圖中不能有條件工作的原因。

是但它將靜態(非動態)像工作,

invisible="1" or invisible="True" 

您可以使用只讀屬性,如果有條件樹視圖是editble。

+0

有道理,謝謝 –