2012-07-12 16 views
6

Quindi esiste già this thread here che ha un esempio che crea un'intestazione di prima pagina diversa rispetto al resto delle pagine. Posso scaricare questo esempio e farlo funzionare bene.Intestazione diversa nella prima pagina di Birt Report

Quando ho tentato di simulare questo esempio, non potevo farlo (Chiarimento: dopo aver cambiato l'origine in un database di origine, l'intestazione non sarebbe cambiata correttamente). Alla fine ho iniziato a copiare le singole parti del mio rapporto su quello di esempio per vedere che cosa ha attivato il problema (Chiarimento: ho rimosso le differenze tra il mio rapporto e l'esempio un passo alla volta per identificare la differenza esatta che ha causato il problema). Finì per essere il mio tavolo.

Per qualche motivo che non riesco a spiegare se aggiungo un nuovo set di dati di mio, rimuovi la tabella utilizzando il database di esempio e aggiungo una tabella utilizzando il mio set di dati, non funzionerà. Quando dico che non funzionerà, intendo all'improvviso che l'intestazione sia la stessa su ogni pagina e che non cambierà per le pagine successive come previsto.

Se eseguo il debugger e inserisco un punto di interruzione nello script che forza il diverso contenuto della prima e di altra pagina (mostrato di seguito) rispetto a ciò che sembra accadere è che con la tabella del database di esempio, l'evento onRender viene chiamato su ogni pagina ... ma con il mio tavolo viene chiamato solo una volta. Ciò fa sì che la pagina master controlli solo lo script onRender una volta all'inizio, quando la variabile pageNumber = 1. Sono stato a questo per ore e ore e vorrei davvero qualcuno che potrebbe sapere perché questo è il caso di aiutarmi per favore .

Ecco il codice:

if(pageNumber > 1){ 
    this.getStyle().display = "none"; 
} 

vostro aiuto e la conoscenza è molto apprezzato,

-Asaf

risposta

3

Si indica

ho cercato di imitare questo esempio non potevo' t do so

quindi presumibilmente ti sei perso un passaggio da qualche parte. C'è DevShare BIRT: Multiple Master Pages e il blog di supporto BIRT: Multiple Master Pages with no scripting che dovrebbe guidarti attraverso il processo.

EDIT Basato sul chiarimento.

La modifica di un report esistente in BIRT (in particolare la versione freeware) utilizzando l'editor "Layout" potrebbe non essere sempre aggiornato correttamente nell'XML. L'XML è la base effettiva per il rapporto. Ricreare il report da zero e utilizzare solo l'esempio come guida dovrebbe risolvere il problema che si indica.

Quando tu (o il tuo cliente) non sei completamente sicuro di cosa sarà il rapporto alla fine, il versioning fornisce un metodo sicuro per "non fare", perché in quella versione non è mai stato fatto. Io salvo sempre una versione (e documento nella descrizione del report) prima di provare qualcosa di nuovo.

Version

+0

Prima di tutto, mi scuso se la mia memoria non mi riesce, ho fatto questa domanda molto tempo fa. Così tanto tempo che ho cambiato lavoro e quindi non uso più BIRT.Detto questo, ricordo quello che intendevo e posso vedere che non ero chiaro, quindi dopo questo commento modifico e rieseguo le cose correttamente. Ho scritto per la prima volta nella riga precedente "Posso scaricare questo esempio e farlo funzionare bene". Quindi non ho avuto problemi a far funzionare l'esempio così com'era. Ora, quando dico "imitare", intendo che ho modificato l'esempio (ho usato una fonte di dati del mio) e questo è il momento in cui l'intestazione non è riuscita a cambiare correttamente. – Asaf

+1

Capisco che tu abbia affermato di aver provato a modificare l'esempio scaricato, piuttosto che creare da zero. Questo è un ottimo modo per semplificare il modo in cui le cose sono messe insieme, ma non così bene per fare report funzionanti in BIRT. Come molte applicazioni BIRT utilizza una GUI per creare un file XML, in cui il file XML è il vero 'programma' e quello che vedi nella GUI è solo una rappresentazione dell'XML. Quando si trascina, si rilascia e si modifica; l'XML non è sempre aggiornato correttamente. BIRT essendo un prodotto open source (freeware), questo si verifica più di quanto ci si aspetterebbe che si verifichino in uno strumento a pagamento. (segue) –

+1

(continua) Ricreare da un punto di salvataggio o da zero è come generalmente recupero da questi eventi, anche se occasionalmente dove si tratta di un errore di associazione a qualcosa che ho cancellato o rinominato, andrò semplicemente nell'XML e apporterò la modifica. Quando provo qualcosa di nuovo, faccio sempre un "save as" prima di andare in una direzione non sperimentata. –

Problemi correlati