Capire se un sottoreport è vuoto...

domenica 14 febbraio 2010 - 11.42

patapatty Profilo | Newbie

Salve a tutti.
In una sezione di un report ho messo un sottoreport, che viene visualizzato solo se non vuoto.
La sezione immediatamente sotto deve essere visualizzata solo se il sottoreport non è vuoto, mentre quella successiva deve essere visualizzata solo se il sottoreport è vuoto . C'è un modo per impostare la condizione "ometti" di tali sezioni in modo che facciano quello che mi servrebbe?

Grazie per l'aiuto.

Patrizia

Jok83 Profilo | Junior Member

Ciao

devi cliccare sulla sezione del sottoreport tasto dx section expert, poi spunti suppress e a lato nella formula devi inserire la condizione per cui nascondere la sezione (il N°di record>0 o Nrecord=0)
spero sia quello che volevi ciao

freeteo Profilo | Guru

Ciao,
io ricordo di aver fatto il sottoreport molto piccolo in altezza, e di aver usato, sempre nel sottoreport, una formula per sopprimere le sezioni se il numero di record era 0, ossia:
previousisnull({campo}) and nextisnull({campo})
e quindi la sezione occupava molto poco in altezza se era tutto suppressed...

Ciao.

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

patapatty Profilo | Newbie

Forse mi sono spiegata male. Le 2 sezioni da mostrare o nascondere a seconda che il sottoreport sia vuoto o meno si trovano nel report principale, non nel sottoreport!
Grazie cmq per l'aiuto.

freeteo Profilo | Guru

Si appunto,
nel sottoreport sopprimi le sezioni per avere un sottoreport piccolo in altezza, così facendo ti occupa meno possibile e quindi quando non ha dati, hai una sezione molto piccola del report principale che ti da l'effetto di averlo soppresso...

Ciao.

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

patapatty Profilo | Newbie

Non è quello che intendo fare.
Provo a spiegarmi meglio.
Nel report principale ho una sezione A contenente il sottoreport, poi una sezione B contenente le informazioni che voglio mostrare se il sottoreport ha dei record, e infine la sezione C contenente le informazioni che voglio mostrare se il sottoreport NON ha dei record. Le sezioni sono una di seguito all'altra.
La sezione con il sottoreport già non viene mostrata se il sottoreport è vuoto (grazie alle opzioni native di CR).
Quello che voglio è che se la sezione A viene stampata allora deve essere stampta anche la sezione B MA NON la C.
Viceversa, se la sezione A non viene stampata, deve venir stampata la sezione C MA NON la B.
Spero di aver chiarito il mio problema.

Grazie cmq a tutti per i consigli sempre utili.

freeteo Profilo | Guru

ok grazie, adesso ho capito

Secondo me puoi provare con una variabile shared messa in un campo formula nel sottoreport dove ti fai dire se ci sono o meno dei record:
shared booleanvar sino := onlastrecord and onfirstrecord

e poi mettere questa formula che richiama quella variabile shared nel suppress della sezione:
shared booleanvar sino

prova a vedere se ti risolve il problema.

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