Anker

Navigation:  Bericht im FR-Designer > Script >

Anker

Previous pageReturn to chapter overviewNext page

Anker (anchors) ist eines der Elemente des Hyperlink Systems, welches es erlaubt, durch einen Klick auf ein Objekt im fertigen Report (im Vorschaufenster), auf das verbunde Element zu wechseln.

 

Anker ist ein spezielles Zeichen, welches über die Methode Engine.AddAnchor gesetzt wird. Der Anker hat einen Namen und ihm entspricht die Nummer und die Position auf der Seite. Um zu einem Anker mit dem angegebenen Namen zu wechseln, kann man in die Eigenschaft URL eines beliebiges Objektes  des Reports, die folgende Zeile einfügen:

 

#NameAnker

èëè

#[NameAnker]

 

Im letzten Fall wird FastReport den Wert in der eckigen Klammer anzeigen.

 

Beim Klick auf dieses Objekt, wird man zu der Stelle des Reports weitergeleitet, in der der Anker eingefügt wurde.

 

Anker sind praktisch beim Erstellen des Kapitels "Inhaltverzeichnis" mit Links zu den entsprechenden Kapiteln. Zeigen wir dies an einem kleinen Beispiel. Hierfür benötigen wir die uns bekannte Tabelle Customer.db.

 

Unser Report wird zweiseitig (sprich zwei Seiten im Designer). Auf der ersten Seite erstellen wir das "Inhaltverzeichnis" und auf der zweiten die eigentliche Kundenliste. Beim Klick auf eine Zeile im Inhaltsverzeichnis, wird man zum entsprechenden Element des Reports weitergeleitet.

 

Erste Seite:

 

clip0200

 

 

In die Eigenschaft URL des Objektes "Text", welcher auf dem Datenband liegt, fügen wir folgende Zeile ein:

 

#[Customers."Company"]

 

und stellen die Eigenschaften der Schrift ein: blau und unterstrichen, um das Aussehen des Hyperlinks zu immitieren.

 

Zweite Seite:

 

clip0201

 

Um den Anker einzufügen, schreiben wir im Script des Bandes MasterData2.OnBeforePrint:

 

 

PascalScript:

 

procedure MasterData2OnBeforePrint(Sender: TfrxComponent);

begin

 Engine.AddAnchor(<Customers."Company">);

end;

 

C++ Script:

 

void MasterData2OnBeforePrint(TfrxComponent Sender)

{

 Engine.AddAnchor(<Customers."Company">);

}

 

Nun starten wird den Report und vergewissern uns, dass die Hyperlinks funktionieren.

 

Was man noch erwähnen kann, ist die Funktion Engine.GetAnchorPage. Diese zeigt die Nummer der Seite an, in der der Anker hinzugefügt wurde. Ebenfalls ist diese Funktion wichtig für die Erstellung des "Inhaltsverzeichnisses". Dazu muss im Report Zweipass aktiviert werden.