Domanda

Sto cercando di visualizzare una tabella di esposizione di prodotti (righe) in una pagina layout fisso singolo A4. Riesco a aggiungere una tabella a sezioni intestazione / dettaglio / piè ma non posso impostare un'altezza minima per la sezione (150 millimetri per esempio). Se fisso un'altezza 150mm riga di dettaglio, quindi Ogni riga avrà tale altezza 150 millimetri. Considerando desidero, ogni fila di avere un'altezza minima (potrebbe essere di parecchi riga se il contenuto di alcune colonne è avvolto).

        +---------+--------+--------------+
Tbl Hdr | col1    | col2   |   col3       |
        +---------+--------+--------------+
Tbl Dtl | [val1]  | [val2] | [val3]       |
        +---------+--------+--------------+
        |                                 |  <-should have a variable heigth
        +---------+--------+--------------+
Tbl Ftr |         |        |     Total    |
        +---------+--------+--------------+

Se un insieme non altezza sulla riga dettaglio poi il piè viene, proprio sotto le righe di dettaglio, invece di attaccare al fondo della pagina.

Spero che questo abbia senso (se non ho potuto fornire maggiori dettagli). Qualsiasi aiuto sarebbe molto apprezzato.

È stato utile?

Soluzione

Un rapporto BIRT utilizza un motore di auto-layout per optimze il contenuto per il contesto corrente. Questo è stato progettato per rendere il look rapporto nel miglior modo possibile a prescindere dal display / schermo. In realtà esso è destinato a ridurre al minimo, se non eliminare il verywhitespace si sta cercando di preservare.

Una cosa che si potrebbe prendere in considerazione di fare è quello di aggiungere una seconda riga di dettaglio. È quindi possibile dare questa riga dettaglio un'altezza fissa e falla consumare gli spazi rimanenti. In alternativa, inserire una seconda tabella nel footer della pagina master che renderà i dati che si desidera e si legano alla parte inferiore della pagina. Questo ha il vantaggio di adhereing tot egli fondo alla pagina a prescindere dal tipo di pagina (lettera, A4, ecc ...).

Altri suggerimenti

In alternativa, quando si ha un piè di pagina non è tagliato:

Ho un cliente che voleva una dimensione tavolo fisso, con un'altezza di una riga fissa. E 'finito per la visualizzazione di 10 righe.

Al fine di aggirare il formattatore automatico:

Crea un var rowCount = 0; reportContext.setGlobalVariable("rowCount",rowCount); variabile nello script Initialize.

Nello script prendere, aggiungere rowCount++; poco prima return(true);. Quindi, modificare l'istruzione if(!lineDataSet.fetch()) al seguente:

if(!lineDataSet.fetch()){
    if(rowCount % 10 >0){
        row["column1"] = "";
        rowCount++;
        return(true);
    }
    return(false);
}

Questo può essere utile in un sacco di scenari in cui è necessario creare i dati falsi a pad fuori tabelle (ad esempio le date mancanti)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top