Vorgehensweise: |
Sie können ein StyleSheet verwenden, um von einer beliebigen Reportkomponente einen Link zu einer JavaScript-Funktion zu definieren. Nachdem Sie einen Link definiert haben können Sie die Berichtskomponente auswählen, um die JavaScript-Funktion auszuführen.
So wie bei Drilldown-Links auf Prozeduren und URLs können Sie optionale Parameter angeben, die es ermöglichen, das Werte einer Reportkomponente an die JavaScript-Funktion weitergereicht werden. Die Funktion verwendet die weitergereichten Parameter, um die Resultate, die an den Browser zurückgegeben werden, dynamisch zu bestimmen. Weitere Informationen hierüber finden Sie unter Parameter erstellen.
Hinweis:
TYPE=type, [subtype], JAVASCRIPT=function[(parameters ...)], $
Hierbei gilt:
Die maximale Länge eines JAVASCRIPT=function-Arguments einschließlich aller assoziierter Parameter beträgt 2.400 Zeichen und kann sich über mehrere Zeilen erstrecken. Wenn Sie ein einzelnes Argument über mehrere Zeilen ausbreiten, müssen Sie das (\)-Zeichen am Ende der ersten Zeile als Weiterführungs-Syntax eingeben. Wenn Sie ein Argument an einer Stelle unterteilen, an der ein Leerzeichen als Trennzeichen benötigt wird, muss sich das Leerzeichen vor dem umgekehrten Schrägstrich befinden oder das erste Zeichen in der nächsten Zeile sein. Der umgekehrte Schrägstrich agiert nicht als Trennzeichen.
Bei diesem Beispiel gilt,
JAVASCRIPT=myfunc(COUNTRY \ CAR MODEL 'ABC'),$
dass sich das Argument richtig über zwei Zeilen erstreckt.
Hinweis:
Weitere Informationen über den -HTMLFORM-Befehl finden Sie im Handbuch Reportanwendungen entwickeln .
Im Folgenden ist die Report- und StyleSheet-Syntax zu sehen, die verwendet wird, um mit einer JavaScript-Funktion zu verknüpfen. Es wird auch die JavaScript-Funktion angezeigt, die ausgeführt wird, und das Ergebnis, das im Browser angezeigt wird.
Die Reportanfrage (die das Inline-StyleSheet enthält) ist:
TABLE FILE GGORDER SUM PRODUCT_ID BY STORE_CODE BY PRODUCT_DESCRIPTION NOPRINT IF STORE_CODE EQ 'R1250' ON TABLE HOLD AS JAVATEMP FORMAT HTMTABLE ON TABLE SET PAGE-NUM OFF ON TABLE SET STYLE * TYPE=REPORT, GRID=OFF, $ TYPE=DATA, COLUMN=PRODUCT_ID, JAVASCRIPT=showitem(PRODUCT),$ ENDSTYLE END -RUN -HTMLFORM JAVAFORM
Die JAVAFORM.HTM-Datei, die die JavaScript-Funktion enthält, ist:
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> // This function will display the value in the text box function showitem(string) { document.form1.text1.value = string; } // End the hiding here </SCRIPT> </HEAD> <BODY> !IBI.FIL.JAVATEMP; <HR> <B>Product Description:</B> <FORM NAME="form1"> <INPUT TYPE="text" NAME="text1" SIZE="16"> </FORM> </BODY> </HTML>
Es wird, wenn Sie die Reportprozedur ausführen, der folgende Report im Webbrowser angezeigt. Wenn Sie einen Produktcode-Link ausgewählt haben, wird die JavaScript-Funktion ShowItem ausgeführt und zeigt den Wert des PRODUCT_DESCRIPTION-Feldes (ein NOPRINT-Feld) in der Textbox im Formular unterhalb des Reports an. Wenn Sie z. B. den Produktcode G104 auswählen, wird ''Thermos'' im Feld Produktbeschreibung angezeigt.
WebFOCUS |