[VB.NET] Nascondere/Visualizzare un campo nei Crystal Report. HELP!

lunedì 30 aprile 2007 - 11.22

Fantastik Profilo | Newbie

Ciao a tutti,
è possibile nascondere o visualizzare il campo di una tabella, inserita in un report, a seconda del valore che assume il campo per ogni record?

Mi spiego, ho creato un report in cui verranno stampati dei dati contenuti in una tabella.
Per ogni record deve essere stampato il campo "Note" solo se questo non è vuoto.

Se il campo note è vuoto deve nascondermi (penso con la proprietà "NomeCampo.Hidden = true") tutta la riga in modo da non lasciarmi il rigo vuoto.

Ho provato cosi:

=Iif(Fields!Note.Value = "", Note.Hidden = True, Note.Hidden = False)

Ma non funziona in quanto nn riconosce la proprietà Hidden. (Note è il nome del campo)
Ho provato anche con Table1.Note.Hidden ma non va ...

Grazie in anticipo...

freeteo Profilo | Guru

ciao,
per sopprimere il campo a seconda del valore devi impostare una formula quando setti la proprieta' "sopprimi" del campo stesso (tastoDX sopra->formatta campo)

Quando clicchi sul bottone "X+2" che indica un calcolo per impostare la proprieta', gli metti il codice di controllo ad esempio:
if({campo} > 0) false else true
che vuol dire che si sopprime se è minore o uguale a 0 nel caso specifico dell'esempio...

* ps:
la prossima volta per problemi del genere posta nella stanza "reportistica" cosi' teniamo piu' in ordine il forum, e magari ti rispondiamo piu' velocemente.
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Fantastik Profilo | Newbie

Ho provato ma non trovo la proprietà a cui ti riferisci...

Facendo Tasto Dx sull'oggetto vengono fuori "Expression", "Properties" ed altre funzioni classiche (copia, incolla, taglia ecc ecc).
Premendo su Properties ci sono varie funzioni ma nn ho trovato quella a cui ti riferisci.. potresti essere piu preciso pls?

Grazie in ancitipo

freeteo Profilo | Guru

ciao,
ma allora non stai usando Crystal! Stai usando un report di SqlReporting, quindi un file con estensione "RLDC" (Report Language Definition Client-side).

In questo caso la cosa va fatta in questo modo, sulla proprieta' "Visibility" che trovi a design-time, invece di scegliere il valore "True" o "False", scegli "Expression".
Si apre l'editor e li dentro vai a fare la condizione booleana che deve condizionarti la visibilita' dell'oggetto, ad esempio:

= Fields!OrderID.Value > 0
scrivendo cosi', la visibilita' dell'elemento viene data in base (=) alla condizione (Fields!OrderID.Value > 0)
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Fantastik Profilo | Newbie

Ciao,
ok impostando quel parametro funziona, solo che dovrebbe, oltre a scomparire quando il campo è vuoto, non lasciarmi lo spazio tra una riga e l'altra.. è possibile farlo?

In pratica nel report ho la tabella con 4 colonne ed una riga per ogni record, sotto ogni riga mi compare uno spazio vuoto (della grandezza del campo che scompare)!

Grazie in anticipo

freeteo Profilo | Guru

ciao,
penso proprio che non sia possibile perche' cmq il motore di generazione dell'oggetto tabella ha creato lo spazio, prova ad applcare quell'espressione di "visibilita'" a tutta la riga, e non solo al tuo oggetto.

ciao.

Matteo Raumer
[MCAD .net]
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5