2013-01-07 56 views
1

我需要我的表格是這樣的: 讓我們說它有兩行。第一行有六列,第二行有兩列(但整個行的長度當然是相同的)。我需要這個,因爲我需要把下面一款產品的描述,它需要更多的空間比列的其餘部分,以便圖形它是這樣的:RML - 具有不同列數和長度的表格行

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中的方法類似。

+0

您可以使用2個表格。表頭第一個表格和第二個表格打印記錄。 –

+0

我知道。一切正常與標題。所有這些列不是標題的一部分。我舉了兩行的例子,但也許我應該提到這些行需要依次重複,具體取決於產品編號。這就是爲什麼你不能使用不同的表格,因爲它會輸出整個第一個表格,然後輸出另一個表格,但不會像應該那樣進行組合。 – Andrius

回答

4

我設法解決使用此作爲一個例子這樣的問題: reportlab: setting colspan for td in rml

我需要在指定:

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

這意味着,第二行中從第二塔王建宇,山西高等學校最後一個將是合併爲一個。

相關問題