Autor Beitrag
Sahne13
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 19.02.10 12:12 
hallo alle zusammen!

ich arbeite mit vs2005 und dem report-tool von DevExpress V9.1 (XtraReport).

ich erstelle verschiedene reports, die ich zur laufzeit zu einem einzigen bericht zusammenhänge (abhängig davon, welche seiten der benutzer in seinem bericht haben möchte).

für die bericht-vorschau erstelle ich bookmarks, damit schnell zu den einzelnen seiten navigiert werden kann.
außerdem möchte ich diese bookmarks auch für die erstellung eines inhaltsverzeichnissses direkt im bericht verwenden.

nun mein problem:
ich habe auf report I die überschrift 1 sowie unterpunkt 1.1 (setze also für unterpunkt 1.1 den bookmarkparent auf überschrift 1) -> darstellung in der berichtvorschau unter dokumentenansicht richtig, da unterpunkt 1.1 wirklich als unterpunkt von überschrift 1 angezeigt wird.
der nächste report II enthält den unterpunkt 1.2 (versuche also im code den bookmarkparent auf überschrift 1 von report I zu setzen) -> darstellung in der berichtvorschau ist falsch, da der unterpunkt 1.2 auf der gleichen ebene wie überschrift 1 angezeigt wird.


ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
XtraReportI reportI = new XtraReportI(ProjID);

// Report I
if (chkRepI.Checked)
{
  reportI.CreateDocument();
  reportTotal.Pages.AddRange(reportI.Pages);                  
}

// Report II
if (chkRepII.Checked)
{
  XtraReportII reportII = new XtraReportII(ProjID);
  //funzt net :-(
  //reportII.xrlblUnterpunkt1_2.BookmarkParent = reportI.xrlblUeberschrift1;
  reportII.CreateDocument();
  reportTotal.Pages.AddRange(reportII.Pages);
}



kann mir irgendjemand einen tip geben, wie ich das richtig lösen kann?
ich denke, man muss ja nicht unbedingt mit dem reporttool von devexpress arbeiten, das bookmark-handling wird ja bei anderen reporttools ähnlich sein.
ich glaub, ich stehe einfach auf der leitung und verstehe nur nicht, wie das bookmark-handling eigentlich funktioniert :-(.

vielen dank für eure hilfe.

lg
sahne
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 19.02.10 12:27 
Ich kann mir nicht vorstellen das Bookmarks reportübergreifend funktionieren. Oder das man Bookmarks setzen kann bevor der report gerendert ist (das macht CreateDocument doch oder?).
Ich würde ansonsten einfach mal den Hersteller fragen.
Sahne13 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 19.02.10 17:10 
hallo nochmal,

danke für den hinweis.
habe jetzt eine lösung gefunden, falls es mal jem. interessiert.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
// Bookmark von Ueberschrift 1
BookmarkNode nodeUeberschrift1 = null;

// Report I
if (chkRepI.Checked)
{
    XtraReportI reportI = new XtraReportI(ProjID);I
    reportI.CreateDocument();

    // Bookmark von Ueberschrift 1 merken
    nodeUeberschrift1 = reportI.PrintingSystem.Document.BookmarkNodes[0];

    reportTotal.Pages.AddRange(reportI.Pages);                     
}

// Report II
if (chkRepII.Checked)
{
    XtraReportII reportII = new XtraReportII(ProjID);
    reportII.CreateDocument();

    // Bookmark von Unterpunkt 1.2 holen
    BookmarkNode node1_2 = reportII.PrintingSystem.Document.BookmarkNodes[0];
    // unter "Überschrift 1" einfügen
    nodeUeberschrift1.Nodes.Add(node1_2);                  
    // und von ReportII löschen, sonst erscheint Text 2x in Dokumentenübersicht
    reportII.PrintingSystem.Document.BookmarkNodes.RemoveAt(0);

    reportTotal.Pages.AddRange(reportII.Pages);        
}


lg
sahne