APEX: Interaktiver Report und CSS

In meinen Anwendungen verwende ich momentan das Theme 13 “Blue Gray”. Als ich dort einen interaktiven Report einbinden wollte, gefiel mir nicht, dass dieser eigene CSS-Definitionen mitbringt (Bild 1) und sich somit nicht in die Optik meiner bestehenden Anwendung (Bild 2) einbringt.

 

Bild 1 Bild 2

 

Mit dem Firefox Addon Firebug bin ich auf die Suche nach der CSS-Eigenschaft für die graue Tabellen-Kopf-Zeile gegangen. Diese befindet sich in der Datei /i/css/apex_3_1.css und heißt “table.apexir_WORKSHEET_DATA th”. Darin wird ein grauer Hintergrund und ein kleines Gif-Bildchen definiert. Nun könnte man die Datei direkt ändern und seine gewünschten Definitionen dort ablegen, mir fehlen hier in der Produktionsumgebung dafür die Rechte.

Also habe ich mir gedacht, überschreibe ich die Definition in meiner eigenen CSS-Datei, die ich im Page-Header-Template sowieso lade. Als das nicht funktionierte griff ich nochmal zum Firebug und mußte feststellen, dass die Datei apex_3_1.css ganz am Schluß geladen wird und somit auch die Einträge in meiner eigenen CSS-Datei überschreibt.

 

Es blieb mir nichts anderes übrig, als die CSS-Definition in den Seiten-Attributen im Bereich “Header and Footer / Header Text” unterzubringen:

1
2
3
4
5
<style type="text/css">
table.apexir_worksheet_data th {
background: #7b9cbd;
}
</style>

Dieser Beitrag wurde unter APEX veröffentlicht. Setze ein Lesezeichen auf den Permalink.

5 Antworten zu APEX: Interaktiver Report und CSS

  1. Patrick Wolf sagt:

    Hallo,

    wenn Du das Laden der stylesheet Datei im Page Template nach

    #HEAD#

    einfuegst, sollte alles korrekt funktionieren.

    Lg
    Patrick

  2. cc13 sagt:

    Hallo Patrick,

    danke, das funktioniert.

    Bleibt nur noch der Bug, dass diese CSS-Files irgendwo auf dem Server gecacht werden. Leider habe ich keinen Zugriff auf das Filesystem und das Apex-Forum bei Oracle hat mich auch noch nicht weitergebracht.

    Grüße
    Carsten

  3. Patrick Wolf sagt:

    Das sind normalerweise eine Einstellung vom Apache, ich glaube mod_expire oder so. Wenn es Dir aber nur um das Testen geht, mit Ctrl+F5 oder Shift+F5 kannst Du ein Reload ausloesen wo er das File wirklich neu nachladet. Oder einfach Browser Cache loeschen.

    Lg
    Patrick

  4. cc13 sagt:

    Das ist es ja eben. Mein Oracle/Apache-Admin hat den Cache deaktiviert. Den Browsercache habe ich gelöscht und auch wenn ich verschiedene Rechner/Browser nutze, wird nichts draus. Es hilft nur, die .css-Datei umzubenennen und mit dem neuen Namen im Template zu referenzieren. Dann wirken die neuen Werte.

    Grüße
    Carsten

  5. Patrick Wolf sagt:

    Versuch mal 2 Dinge
    1) Installier Dir das LiveHTTP Header Firefox Plugin, dort sieht Du was zum Server gesendet wird und was zurueckkommt (nur HTTP Header). Daraus kannst Du ablesen ob der Server es mit einem „hat sich nicht geaendert“ oder wenn er es rausschickt mit einem „soll erst in xxx Tagen ungueltig werden“ rausschickt.

    2) Im Apache access_log Logfile solltest Du auch anhand der HTTP Return Codes sehen ob der Browser das File ueberhaupt anfordert und was der Web-Server drauf antwortet (zB. Hat sich nicht geaendert,…)

    Hoffe das hilft ein wenig
    Patrick

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.