2015-12-16 4 views
1

J'ai la formule suivante dans mon Suppress enregistrements formule:Autres couleurs sur seulement les détails visibles dans Crystal Reports

if {status.code} in ['1LS','2LS','3LS','PCA','BIR','BTS','CCC','COD','FAC','IAP','IBP', 
    'IND','INF','INP','INR','ISN','LOC','LS2','MIN','NAR','NAU','PPL','RSR','RTS','SLD', 
    'SSP','SUS','UPD'] then 
    true 
else 
    false; 

Ensuite, dans ma formule de coloration je le classique:

If RecordNumber Mod 2 = 0 Then 
    crSilver 
else 
    crNoColoR 

Le problème est la coloration n'est pas en alternance car elle fait référence à tous les codes d'état et pas seulement au visible. Des pensées sur comment obtenir seulement les visibles pour alterner la coloration?

+0

Pourquoi ne pas simplement éliminer ces codes d'état du rapport? – craig

Répondre

0

Le champ spécial RecordNumber donnera votre numéro d'enregistrement extrait de la base de données, qu'il soit supprimé ou non. Vous pouvez créer votre propre compteur d'enregistrements pour les enregistrements visibles uniquement, puis coloriser en fonction de ce compteur.

  1. Créer une Formule Champff_MyRecNo et définir sa valeur en conjonction avec votre formule de suppression d'enregistrement comme:

    WhilePrintingRecords; 
    if {status.code} in ['1LS','2LS','3LS','PCA','BIR','BTS','CCC','COD','FAC','IAP','IBP', 
        'IND','INF','INP','INR','ISN','LOC','LS2','MIN','NAR','NAU','PPL','RSR','RTS','SLD', 
        'SSP','SUS','UPD'] then 
        // ignore suppressed records 
    else 
        // count other records 
        numberVar recNo := recNo + 1; 
    
  2. place ff_MyRecNo dans le Détails section et le supprimer.
  3. Changer votre formule alternative de coloration à:

    WhilePrintingRecords; 
    if {@ff_MyRecNo} mod 2 = 0 then 
        crSilver 
    else 
        crNocolor