Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3 Odpowiedzi
27391 Widoki

I need to conditionally format a report template for Quotation:

....<tbody class="sale_tbody">

<t t-foreach="o.order_line" t-as=i">

<tr t-if="something">                     // <<< Have to set CSS depending on condition here

<td><span t-field="i.name" /></td>

</tr>

</tbody>

In the code snippet, I basically want to change the background colour of the row based on a value in the order_line table (like quantity less than 4 etc.)

I have been struggling to do it. I have tried to use t-if and t-att, but I can't understand how to change CSS format with the conditions.

Can anyone please help me out on this?

 

Awatar
Odrzuć
Najlepsza odpowiedź

You have to write to conditions to change the formating.

<tbody class="sale_tbody">
    <t t-foreach="o.order_line" t-as=i">
        <tr t-if=="value1">                     
            <td><span t-field="i.name" /></td> // <<< Have to set CSS depending on condition here
        </tr>
        <tr t-if=="value2">                     
            <td><span t-field="i.name" /></td> // <<< Have to set CSS depending on condition here
        </tr>
    </t>
</tbody>

Awatar
Odrzuć
Autor Najlepsza odpowiedź

There is actually a better way to do this, as I just found out:

<t t-if-"value1">
      <t t-set="style" t-value="'color:blue'" />
</t>
<t t-if-"value2">
      <t t-set="style" t-value="'color:red'" />
</t>
                        
<span t-att-style="style" >Test</span>

 

Awatar
Odrzuć
Najlepsza odpowiedź

Some of the syntax error, logic is right, Updated answer:

<t t-if="value1">

<t t-set="style" t-value="'color:blue'" />

</t>

<t t-if="value2">

<t t-set="style" t-value="'color:red'" />

</t>

<span t-att-style="style" >Test</span>

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
gru 23
18459
1
sie 17
6290
3
kwi 25
1513
2
maj 24
2156
0
maj 24
55