Poblema nuova pagina

lunedì 20 aprile 2009 - 11.36

senzavento Profilo | Newbie

Ciao a tutti,
ho un report molto complesso, con vari sottoreport.
Mi trovo nella situazione di dover gestire n (numero variabile ) righe di articolo, con relativa immagine e descrizione. Questi articoli sono divisi in gruppi, ai quali è associato un nome ed una descrizione. Non è richiesta una nuova pagina dopo la fine di un gruppo di articoli. Tuttavia mi hanno richiesto di andare a nuova pagina quando nel report si arriva all'80-90% della pagina, perchè (a seconda del numero di articoli del gruppo) potrebbero verificarsi situazioni in cui ho il nome del gruppo con la descrizione a fine pagina ed i relativi articoli nella pagina successiva. Non posso mettere la nuova pagina dopo un gruppo perchè potrei avere situazioni opposte.. ossia un articolo in cima alla pagina e poi subito un nuovo gruppo articoli. Se andassi a nuova pagina in questa situazione verrebbe una pagina con 80-90% di spazio vuoto.
Esiste il modo di gestire questi casi? Quello che mi servirebbe è un qualcosa che mi consentisse, di andare a nuova pagina se sono all'80-90% della pagina.

Ho visto che c'è il modo di contare le righe del sub report, ma per me non va bene, in quanto la descrizione del gruppo di articoli è un rtf (di lunghezza variabile impostato dall'utente, quindi potrebbe essere 2 righe come 10, come non esserci)

NB: Se vogliamo vederlo da un altro punto di vista, a me basta che l'intestazione del gruppo di articoli stia insieme al primo record di articoli. Da quello che capisco questo si dovrebbe poter fare con una formula, ma non capisco che formula potrei mettere e dove metterla.

Grazie in anticipo
Andrea

freeteo Profilo | Guru

Ciao,
avere qualcosa che ti dice che sei al 80-90% di una pagina non c'è, perchè il report viene renderizzato dall'alto verso il basso, quindi ogni record (e di fatto ogni sezione) viene valutato se cambiare pagina (nel caso hai messo keep together).

Puoi però usare i raggruppamenti e dire come proprietà del gruppo "Repeat Header on Each page" ossia di ripetere la sezione di groupHeader ad ogni cambio pagina, quindi nel momento in cui qualche record passa ad una pagina nuova, ripete l'intestazione, quindi capisci sempre a cosa si riferisce.

Altrimenti puoi usare però una tabella (o una matrice se hai anche le colonne dinamiche) e fare i raggruppamenti come sopra.

Altro non saprei, vedi se con questi suggerimenti riesci a trovare un compromesso...


Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

senzavento Profilo | Newbie

Ciao grazie della risposta.
In effetti a me basterebbe tenere unito il primo e l'ultimo record dei dettagli con rispettivamente la sezione e la riga di totale sotto.
Ho visto che ci sono le proprietà onfirstrecord ed onlastrecord. E' possibile fare questa cosa secondo te?

Grazie infinite
Andrea

freeteo Profilo | Guru

>Ciao grazie della risposta.
di niente figurati siamo qui per questo


>In effetti a me basterebbe tenere unito il primo e l'ultimo record
>dei dettagli con rispettivamente la sezione e la riga di totale
>sotto.
secondo me devi farlo con i gruppi e tenendolo unito


>Ho visto che ci sono le proprietà onfirstrecord ed onlastrecord.
>E' possibile fare questa cosa secondo te?
oddio non ho capito come penseresti di usarlo, ma cmq tieni presente che quelle variabili sono disponibili per ogni record, quindi le valuti sezione per sezione e quindi diciamo che le puoi usare per fare delle scelte tipo decidere se andare a nuovaPagina o meno, etc...ma se la valutassi per decidere se tenere raggruppato un gruppo o meno (ammesso che si possa) non sarebbero corrette in quella sezione (group header).
Secondo me se riesci a fare qualcosa con il gruppo e il tenerlo unito altrimenti non vedo alternative al momento...

Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

senzavento Profilo | Newbie

grazie,
provo a vedere se riesco a combinare qualcosa con i gruppi
A.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5