首页 文章

RML - 具有不同列数和长度的表行

提问于
浏览
1

我需要我的表是这样的:假设它有两行 . 第一行有六列,第二行有两列(但当然整行长度相同) . 我需要这个,因为我需要在下面放置一个产品的描述,它需要比其他列更多的空间所以图形上它看起来像这样:

1col|2col|3col|4col|5col|6col|
1col     |2col                |

正在使用报告标记语言来编写此表 .

现在这个表看起来像这样:

<para style="terp_default_1">[[repeatIn(o.order_line,'line')]]</para>
      <blockTable colWidths="180.0,70.0,80.0,70.0,50.0,85.0" style="Table5">
        <tr>
          <td>
            <para style="terp_default_9">[[ line.name ]] </para>
          </td>
          <td>
            <para style="terp_default_Centre_9">[[ ', '.join(map(lambda x: x.name, line.tax_id)) ]]</para>
          </td>
          <td>
            <para style="terp_default_Right_9">[[ formatLang(line.product_uos and line.product_uos_qty or line.product_uom_qty) ]] [[ line.product_uos and line.product_uos.name or line.product_uom.name ]]$
          </td>
          <td>
            <para style="terp_default_Right_9">[[ formatLang(line.price_unit) ]]</para>
          </td>
          <td>
            <para style="terp_default_Centre_9">[[ formatLang(line.discount, digits=get_digits(dp='Sale Price')) ]]</para>
          </td>
          <td>
            <para style="terp_default_Right_9">[[ formatLang(line.price_subtotal, digits=get_digits(dp='Sale Price')) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
          </td>
        </tr>
        <tr>
          <td>
            <para style="terp_default_9">[[ line.product_id.product_tmpl_id.description ]]</para>
          </td>
        </tr>
</blockTable>

我想应该有一种方法来定义特定行(tr标签)以具有特定数量的列 . 就像现在一样,列长度和数字在'blockTable'标签中定义 . 或者最好的方法是将1和2组合成一列3,4,5和6列到第二列 .

更新:我添加了html标签,因为它可能与rml类似 .

1 回答

  • 4

    我设法以此为例解决了这个问题:reportlab: setting colspan for td in rml

    我需要指定:

    <blockTableStyle><blockSpan start="1,1" stop="4,1"/></blockTableStyle>
    

    这意味着从第二列开始到最后一列的第二行将合并为一行 .

相关问题