### 樹視圖
樹視圖可以附加屬性來進一步自定義它們的行為:
`colors`
自9版:被棄用 `decoration-{$name}`
`decoration-{$name}`
允許根據相應的記錄的屬性更改行文本的樣式。
價值觀是Python表達式。對于每一個記錄,表達式被記錄的屬性作為上下文值進行評價,如果“真”,則將相應的樣式應用于行。其他的上下文值` UID `(當前用戶的ID)和` current_date `(當前日期作為一個字符串的形式` yyyy-mm-dd `)。
`{$name}` 可以是 `bf` (`font-weight: bold`), `it` (`font-style: italic`), 或任何 bootstrap 上下文顏色 (`danger`, `info`,`muted`, `primary`, `success` or `warning`).
~~~ xml
<tree string="Idea Categories" decoration-info="state=='draft'"
decoration-danger="state=='trashed'">
<field name="name"/>
<field name="state"/>
</tree>
~~~
`editable`
“頂”或“底”。讓樹視圖中編輯的地方(而不必通過窗體視圖),價值就是新行出現的位置。
練習
列表著色
修改會話樹視圖,在這樣的方式中,會話持續不到5天是彩色的藍色,和那些持續超過15天是紅色的。
修改會話樹視圖:
*openacademy/views/openacademy.xml*
~~~ xml
<field name="name">session.tree</field>
<field name="model">openacademy.session</field>
<field name="arch" type="xml">
<tree string="Session Tree" colors="#0000ff:duration<5;red:duration>15">
<field name="name"/>
<field name="course_id"/>
<field name="duration" invisible="1"/>
<field name="taken_seats" widget="progressbar"/>
</tree>
</field>
~~~