Okazuje się, że dzięki doskonałej dokumentacji na stronach SCN SAP można stworzyć programik, który przejdzie po obiektach raportu i jego podraportów i “zaraportuje” swoje wyniki:
1: using System;
2: using System.Collections.Generic;
3: using System.Linq;
4: using System.Text;
5: using CrystalDecisions.CrystalReports.Engine;
6: using CrystalDecisions.Shared;
7: // How to find the ReportObjects in the Crystal Report using Crystal reports .NET SDK? Saurabh Pathak (SCN Community)
8: namespace PrzeszukiwanieObiektowRaportuCR
9: {10: class PrzeszukiwanieObiektowRaportuCR
11: {12: static void Main(string[] args)
13: {14: string raport = "dokumentydostawyekkw.rpt";
15: raport = "Listprzewozowy.rpt";
16: ReportDocument rpDok = new ReportDocument();
17: rpDok.Load(raport);18: Console.WriteLine("Opis definicji raportu "+ raport);
19: foreach (ReportObject obiekt in rpDok.ReportDefinition.ReportObjects)
20: {21: Console.WriteLine("1"+ obiekt.Name + "\t"+ obiekt.Kind.ToString() + "\t" + obiekt.ObjectFormat.ToString());
22: }23: if (rpDok.Subreports.Count > 0)
24: {25: Console.WriteLine("Podraporty...");
26: foreach (ReportDocument rdok in rpDok.Subreports)
27: {28: Console.WriteLine(" 2 " + rdok.Name);
29: foreach (ReportObject obiekt in rdok.ReportDefinition.ReportObjects)
30: {31: Console.WriteLine(" 3" + obiekt.Name + "\t" + obiekt.Kind.ToString() + "\t" + obiekt.ObjectFormat.ToString());
32: } 33: } 34: }35: else
36: {37: Console.WriteLine("Ten raport nie ma zagnieżdżonych raportów");
38: } 39: Console.ReadLine(); 40: } 41: } 42: }Nie jest to wcale trudne jak widać!
Brak komentarzy:
Prześlij komentarz