Cambio pagina gruppo, ma solo

mercoledì 01 giugno 2011 - 19.29

Passaia Profilo | Newbie

Ciao, sto cercando di creare un report in cui il gruppo cambi pagina solo se nella stessa pagina non c'è spazio per i dettagli.

Mantenendo unito il gruppo ho visto che cambia pagina solo se il gruppo non ci sta completamente nella stessa pagina, mentre non mantenendolo unito può succedere che l'ultima riga scritta sulla pagina sia proprio l'intestazione del gruppo.. questa cosa io vorrei evitarla, il gruppo deve essere scritto sulla stessa pagina solo se sulla stessa viene scritta almeno una riga di dettaglio, altrimenti deve andare alla pagina nuova..

è possibile?
dove sbaglio??

Grazie mille e scusae la banalità della domanda, questa cosa mi sta facendo impazzire!

freeteo Profilo | Guru

>non mantenendolo unito può succedere che l'ultima riga scritta
>sulla pagina sia proprio l'intestazione del gruppo.. questa cosa
è corretto che lavori con la proprietà "mantieni unito" delle sezioni, in questo caso anche del gruppo.
Se ti rimane fuori l'intestazione a parte che non dovrebbe succedere forse hai dei campi nulli o forse la sezione dettagli è troppo lunga, cmq sia puoi provare a nasconderla a codice, ossia mettere nella proprietà "ometti" di questa sezione header, un controllo che sei sull'ultima pagina (pagenumber = TotalPageCount)


>Grazie mille e scusae la banalità della domanda, questa cosa
>mi sta facendo impazzire!
immagino...sono piccole cose che ti fanno perdere un sacco di tempo...

Ciao.

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

Passaia Profilo | Newbie

Ciao e grazie della risposta!!
Il controllo non voglio farlo solo sull'ultima pagina ma sull'intero report..
Il gruppo in pratica dovrebbe andare nella pagina nuova soltanto se sulla pagina non c'è lo spazio nemmeno per una riga. Insomma, vorrei evitare di avere l'intestazione del gruppo come ultima riga scritta su una pagina.
La riga di dettaglio non contiene null e occupa lo spazio per il campo, niente di più..
Non esiste da codice la possibilità di testare il top di ogni riga mentre la sta scrivendo?

Grazie ancora, gentilissimo.

freeteo Profilo | Guru

Ciao,
puoi eventualmente allegare un report d'esempio che ti dia lo stesso problema? così posso provare a vedere se riesco a sistemare direttamente agendo sul report.
Che sappia io non credo si possa testare il top di una riga di dettaglio, puoi però lavorare con qualche formula e variabile all'interno del report che ti dica se una sezione è visualizzata o meno e di conseguenza magari evitare di mostrare anche questa sezione di groupheader...

Ciao.

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

Passaia Profilo | Newbie

quali sono le formule per capire se una sezione è visualizzata in n certo momento?

freeteo Profilo | Guru

>quali sono le formule per capire se una sezione è visualizzata
>in n certo momento?
non c'è una formula che ti dia questa informazione, devi usare un campo formula dentro a quella sezione e poi ci scrivi dentro ad esempio:
shared booleanvar presente := true;
poi in una sezione diversa, ci puoi mettere dentro il controllo sull'Ometti di quest'ultima, se la variabile "presente" è valorizzata:
shared booleanvar presente;
Dovrebbe funzionare...


Ciao.

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

Passaia Profilo | Newbie

L'ometti non credo faccia al caso mio, perchè l'intestazione non voglio ometterla ma semplicemente scriverla sulla nuova pagina.
Forse la formula dovrei inserirla sul NuovaPaginaPrima, anche se mi sembra di capire che lui ragioni sui dettagli PRIMA del gruppo:
se nel momento in cui sta inserendo l'intestazione la variabile è true, allora non inserire una pagina nuova prima.. corretto?
se è così la variabile sarà sempre true.. a me servirebbe che nel momento in cui sta inserendo l'intestazione sapesse a priori che valore avrà la variabile alla fine della pagina..
forse sto dicendo un mare di scemenze.. comunque mi hai dato una buona pista su cui lavorare!

freeteo Profilo | Guru

>L'ometti non credo faccia al caso mio, perchè l'intestazione
>non voglio ometterla ma semplicemente scriverla sulla nuova pagina.
scusami ma avevo capito che NON volessi visualizzarla se non ci sono altre righe di quel gruppo, e non che volessi "visualizzarla sempre" sulla nuova pag


>se nel momento in cui sta inserendo l'intestazione la variabile
>è true, allora non inserire una pagina nuova prima.. corretto?
mah diciamo che il "nuova pagina" è qualcosa che dovrebbe arrivare di conseguenza...o tu hai impostato questo flag (magari soggetto ad una formula)?


>se è così la variabile sarà sempre true.. a me servirebbe che
>nel momento in cui sta inserendo l'intestazione sapesse a priori
>che valore avrà la variabile alla fine della pagina..
non credo che sia possibile questo...a meno di non usare un campo RunningTotalFields (Sommatoria) che sono dei campi in cui l'elaborazione è indipendente dal flusso del report...


>forse sto dicendo un mare di scemenze.. comunque mi hai dato
>una buona pista su cui lavorare!
figurati, siamo qui per questo
Invece se potessi eventualmente allegare un report d'esempio su quello che vuoi fare non sarebbe male...meglio ancora se con un db access con dei dati significativi.
Eventualmente mandalo alla mia email che trovi nel profilo se non vuoi allegarlo qui (che è pubblico)

Ciao.

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

Passaia Profilo | Newbie

al momento il profilo mi da errore, non riesco a visualizzarlo. riprovo più tardi. ma cosa devo spedirti, bastano rpt e mdb?

freeteo Profilo | Guru

Sì, mandami pure uno zip con il report e l'mdb con i quali poter modificare il report e provarlo.
Grazie.

Ciao.

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

Passaia Profilo | Newbie

puoi darmi l'indirizzo? il "contattami" del profilo va in "pagina non trovata"..

freeteo Profilo | Guru

>puoi darmi l'indirizzo? il "contattami" del profilo va in "pagina
>non trovata"..
certo, manda a: matteo@ questo sito (scritto così per evitare spammer)
Grazie.

Ciao.

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

freeteo Profilo | Guru

Ciao,
ti allego una prima versione dove non succede che mostri alla fine solo il titolo senza una riga di dettaglio.
Ho messo il mantieni unito su un gruppo....ma rimangono un paio di effetti collaterali:
- ogni tanto la label grande è vuota, è corretto? dai dati che mi hai fornito sì...ma non ti conviene sopprimere la sezione per compattare?
- se il gruppo non ci sta, in base a qualche algoritmo suo Crystal lascia una parte bianca della pagina

Prova a vedere se riesci a sistemartelo un attimo meglio...

Ciao.

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

Passaia Profilo | Newbie

il mantieni gruppo unito non va bene, perchè purtroppo se non c'è spazio per tutto il gruppo completo lui va sempre sulla pagina nuova.
quello che vorrei e che mi sta facendo diventare matto è che sulla pagina nuova non deve andare mai tranne quando non c'è lo spazio nemmeno per un dettaglio..
scusa se ti stresso!!

freeteo Profilo | Guru

Ciao,
ok ho capito...e provare a mettere il flag "suppress blank section" nella sezione dove hai il nome del vino in grande?
Così compatteresti abbastanza.

Inoltre hai anche una sezione con scritto "Euro" e basta che ti occupa spazio per niente, forse è questa che fa sbagliare Crystal...

Ciao.

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

Passaia Profilo | Newbie

ok, mi arrendo.. seguirò il tuo consiglio di recuperare lo spazio qua e la.
ho un'altra domanda: ho impostato il PaperSize = A3, nessun problema a stamparlo o a esportarlo in pdf, mentre se provo ad esportarlo in word il risultato è sfasato.
Ho provato a impostare nel word generato la pagina A3, ma si sfasa lo stesso tutto.
Sai come posso fare per evitare questa sfasatura?
Grazie ancora!

freeteo Profilo | Guru

>ok, mi arrendo.. seguirò il tuo consiglio di recuperare lo spazio qua e la.
ok


>ho un'altra domanda: ho impostato il PaperSize = A3, nessun problema
>a stamparlo o a esportarlo in pdf, mentre se provo ad esportarlo
>in word il risultato è sfasato.
non saprei...purtroppo le esportazioni sono "a scatola chiusa" o quasi, ossia viene gestito tutto dalle dll relative e tral'altro non ho mai indagato su come poterle migliorare/customizzare.
Non so se ci possa essere qualche libreria magari aggiornata da scaricare...ti lascio qualche link dove guardare:
http://blogs.dotnethell.it/freeteo/lista-dll-per-crystal-report__2381.aspx
https://websmp130.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/bobj_download/main.htm
http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=56787567

Mi dispiace, ma non saprei aiutarti di più

Ciao.

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

Passaia Profilo | Newbie

mmh che tu sappia non ci sono altre proprietà da impostare come a3? oppure c'è solo il papersize dell'anteprima?

freeteo Profilo | Guru

>mmh che tu sappia non ci sono altre proprietà da impostare come
>a3? oppure c'è solo il papersize dell'anteprima?
che sappia io puoi impostare delle cose relative al foglio dentro al report nelle proprietà dal menù Crystal Report quando ce l'hai aperto nel designer di Visual Studio.
Oppure da codice prima di mandarlo in stampa, impostando la proprietà PrintOptions del ReportDocument.

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
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-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5