2012-02-15 14 views
5

Non so se è possibile o meno, ma ho pensato di chiedere. Molte volte i report hanno bisogno del raggruppamento dei dati per avere ancorato alla base del report alcune informazioni di riepilogo, come le fatture. Non vuoi che i totali si spostino verso l'alto in base a solo 2 linee di dettaglio rispetto a un altro con 20. Ho provato a lavorare con l'utilizzo della Tablix legata all'origine dati per l'output, ma non ho potuto ottenere tutto correttamente ... Sarebbe o si spostano verso l'alto o forzano l'interruzione e appaiono nella parte superiore della pagina successiva.RDLC report piè di pagina con valore da "Current Record"

Quindi, se qualcuno ha qualche idea per risolvere il problema, anche quello sarebbe grandioso.

Il mio secondo approccio era quello di utilizzare semplicemente un piè di pagina di report semplice. Tuttavia, la pagina "Report" complessiva non è tecnicamente "BOUND" su qualsiasi origine dati. Quindi, se ho messo una casella di testo nel piè di pagina e voglio che per mostrare qualcosa, non posso scegliere "la più recente fila dall'origine dati associata alla Tablix", richiede sempre un aggregato, come ad esempio

=First(Fields!SomeField.Value, "SomeDataSource") 
=Sum(... 
=Last(... 
etc... 

Voglio solo che sia il più recente ... quindi ho provato a utilizzare le variabili del report per crearne uno e stavo pensando di aggiornarlo per riga in elaborazione, quindi ha sempre avuto il valore "più recente" e Potrei semplicemente scaricare quel valore nella parte inferiore del rapporto.

Qualsiasi suggerimento per entrambi sarebbe fantastico. Grazie.

risposta

2

So che questa è una vecchia domanda, ma ho riscontrato un problema molto simile e ho trovato una soluzione unica. Avevo una dichiarazione che richiedeva la stampa della ricevuta di pagamento nella parte inferiore della pagina, anche se gli elementi pubblicitari dell'estratto erano stati spostati su un'altra pagina. Ho risolto il problema:

  • Rendendo tutte le righe nel rapporto di altezza uniforme.
  • Calcolo quante righe erano tenuti a riempire la pagina (meno l'altezza del mio bollettino di versamento.
  • Ottenere il numero di voci nella dichiarazione.
  • Calcolare il numero restante di righe necessaria per spingere la mia polizza di versamento al fondo della pagina.
  • Aggiunta di un sub-report con il numero calcolato di righe vuote per riempire lo spazio necessario tra gli elementi pubblicitari e il bollettino di pagamento.

il vantaggio di questo approccio è che Potrei generare fatture per più clienti e dal momento del riempimento fa parte del gruppo che sarebbe stato personalizzato per ogni fattura del cliente e giustificato dal basso per ciascuno di essi.

È possibile utilizzare un approccio simile per spingere le informazioni "piè di pagina" nella parte inferiore della pagina.Poiché è ancora all'interno del tuo gruppo di dati, avrai accesso ai valori dei dati che ti servono.

+0

Grazie per l'idea e sembra un'ottima soluzione. Ho fatto simili in un altro linguaggio di sviluppo, ma non ho mai pensato di applicarlo qui. All'epoca del post, ero in una fase iniziale e non avevo familiarità con tali tecniche in C#/reporting. Segnerò la risposta come so che funzionerà dalla mia esperienza passata. – DRapp

0

Nel piè di pagina si può fare riferimento a segnalare elemento dal corpo del report, come questo:

=ReportItems!myFooterValueTextBox.Value 

Il problema è che è possibile fare riferimento a un solo elemento del report nel piè di pagina, quindi potrebbe essere necessario aggiungere invisibile fila piè di pagina nella tabella e concatenare tutti i totali in una sola cella (myFooterValueTextBox) in quella riga:

=First(Fields!SomeField.Value, "SomeDataSource") + "|" + 
Sum(...) + "|" + .... + 
Last(...) 

ho usato tubo come deliminator nel mio esempio, così poi nel piè di pagina, vorrei dividere i valori di stringa e luogo in contenitori appropriati, come questo:

=Split(ReportItems!myFooterValueTextBox.Value,"|")(0)