İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
28691 Görünümler

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?

 

Avatar
Vazgeç
En İyi Yanıt

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>

Avatar
Vazgeç
Üretici En İyi Yanıt

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>

 

Avatar
Vazgeç
En İyi Yanıt

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>

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Ara 23
19710
1
Ağu 17
7435
3
Nis 25
3074
2
May 24
3537
0
May 24
55