2008-10-13 9 views

Répondre

1

Pour ce faire, vous devez le faire dans le Crystal Report. Ma recommandation est d'y ajouter un paramètre, puis de modifier les formules de suppression d'en-tête et de pied de page pour vérifier le paramètre. C'est ainsi que nous l'avons accompli. S'il y a moyen de le faire à partir de votre code, je serais intéressé à le savoir aussi.

Bonne chance!

+0

Il n'est pas nécessaire d'ajouter un paramètre, vous pouvez supprimer l'en-tête et le pied de page par programme avant l'exportation. –

+0

Je sais que ça fait longtemps, mais comment suggérez-vous de le faire? J'essaie de faire exactement cela, mais je n'arrive pas à comprendre comment le traduire en code ... – K09P

+0

@ K09P Désolé, je ne pourrais pas vous le dire, cela fait plusieurs années que j'ai touché Crystal Reports. –

1

Voici ma méthode d'extension pour ReportDocument pour supprimer tous les en-têtes/pieds de page. Je l'utilise pour l'exportation Excel.

/// <summary> 
/// Clears header/footer. 
/// </summary> 
/// <param name="rpt">The reportdocument</param> 
public static void ClearReportHeaderAndFooter(this ReportDocument rpt) 
{ 
    foreach (Section section in rpt.ReportDefinition.Sections) 
    { 
     if (section.Kind == AreaSectionKind.ReportHeader || section.Kind == AreaSectionKind.ReportFooter || section.Kind == AreaSectionKind.PageFooter || section.Kind == AreaSectionKind.PageHeader) 
     { 
      section.SectionFormat.EnableSuppress = true; 
      section.SectionFormat.BackgroundColor = Color.White; 
      foreach (var repO in section.ReportObjects) 
      { 
       if (repO is ReportObject) 
       { 
        var reportObject = repO as ReportObject; 
        reportObject.ObjectFormat.EnableSuppress = true; 

        reportObject.Border.BorderColor = Color.White; 
       } 
      } 
     } 
    } 
} 

utiliser comme ceci:

myReportDocument.ClearReportHeaderAndFooter();