Druckvorschau im IE und Firefox KOMPLETT verschieden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Druckvorschau im IE und Firefox KOMPLETT verschieden

    Hallo zusammen,

    ich arbeite derzeit an einer Tabelle in einer ASP-Seite die den Inhalt eines SQL-Queries widergibt und durch die im Browser gescrollt werden kann, die am Drucker aber ganz normal gedruckt wird.

    Da ich bei der Browser-Ansicht gerne eine feststehende Zeile mit den Spaltennamen haben möchte, habe ich mir für die Spaltennamen eine eigene Tabelle gebaut.
    Um zu garantieren dass die Tabelle mit den Spaltennamen und die Tabelle mit dem Queryinhalt die gleiche Spaltenbreite haben, wird die Breite für jede Spalte fix codiert.
    Das ganze sieht im Code dann so aus:
    (in RS(i).Name steht die Spaltenbreite und in tmp_rs stehen dann die Felder des Queries)

    Quellcode

    1. <TABLE><TR>
    2. <hr align="left" color="#FF0000">
    3. <%
    4. For i = 0 to RS.Fields.Count - 1
    5. select case RS(i).Name
    6. case "A" ReDim Preserve fieldNameArray(i)
    7. fieldNameArray(i) = "30px"
    8. case "B" ReDim Preserve fieldNameArray(i)
    9. fieldNameArray(i) = "42px"
    10. case "C" ReDim Preserve fieldNameArray(i)
    11. fieldNameArray(i) = "155px"
    12. response.write("<td width="&fieldNameArray(i)&" bgcolor='#00FFFF' valign=top><font size=1 color='#000000'><b>" & RS(i).Name & "</b></a></font></td>")
    13. Next
    14. response.write("</TR>")
    15. </TABLE>
    16. <DIV id="c">
    17. <TABLE>
    18. response.write("<TR bgcolor='#dddddd'>")
    19. response.write("<td width="&fieldNameArray(i)&" ALIGN=RIGHT><font size=1>" & tmp_rs & "</font></td>")
    20. response.write("</TR>")
    21. </TABLE>
    22. </DIV>
    Alles anzeigen


    Der DIV-Tag verweist auf ein CSS-File und soll den Umstand regeln, dass die Tabelle im Browser scrollbar ist, am Drucker jedoch nicht

    DIV-Tag in der Drucker.css

    Quellcode

    1. div#c {
    2. overflow:auto;
    3. width:1130px;
    4. height:470px;
    5. }


    DIV-Tag in der Default.css

    Quellcode

    1. div#c {
    2. width:1130px;
    3. }


    So sieht es im IE aus. So stell ich mir die Darstellung auch vor:
    [Blockierte Grafik: http://img404.imageshack.us/img404/382/bild1mx5.jpg]

    So wird die gleiche Seite im Firefox dargestellt - man sieht bei den letzten Spalten, dass sie nicht mehr ganz übereinander stehen - aber damit könnte ich noch leben.
    [Blockierte Grafik: http://img238.imageshack.us/img238/2519/bild2gl3.jpg]

    Hier sieht man die Druckvorschau im IE. Genauso soll es ausschaun !!
    [Blockierte Grafik: http://img503.imageshack.us/img503/3483/bild3yj4.jpg]

    Und das ist die Druckvorschau im Firefox. Da passt keine einzige Spaltenüberschrift zur Spalte darunter :(:(
    [Blockierte Grafik: http://img237.imageshack.us/img237/4158/bild4tn4.jpg]

    Kann mir irgendjemand sagen was ich hier SO falsch gemacht habe ??

    Danke
    Gawan
  • poste mal den ganzen quelltext
    firefox ist bei quelltextfehlern restriktiver - vielleicht hat sich irgendwo was eingebürgert

    ein paar fehler sind z.b.
    * das <hr> in der <table>
    * html tags generell klein schreiben
    * alle attribute (vor allem strings) mit anführungszeichen => align="right"

    aber das bei den spalten gar nichts übereinstimmt wundert mich auch
  • Naja, recht viel mehr Code gibts da nicht mehr :)

    Quellcode

    1. <%
    2. RS.Open "SELECT ..... 10 zeilen code .....", objConn, adOpenForwardOnly, adLockReadOnly, adcmdtext
    3. %>
    4. <TABLE><TR>
    5. <hr align="left" color="#FF0000">
    6. <%
    7. ReDim fieldNameArray(0)
    8. For i = 0 to RS.Fields.Count - 1
    9. select case RS(i).Name
    10. case "A"
    11. ReDim Preserve fieldNameArray(i)
    12. fieldNameArray(i) = "30px"
    13. case "B"
    14. ReDim Preserve fieldNameArray(i)
    15. fieldNameArray(i) = "42px"
    16. case "C"
    17. ReDim Preserve fieldNameArray(i)
    18. fieldNameArray(i) = "155px"
    19. ....etc....etc....etc....
    20. case "ZZ"
    21. ReDim Preserve fieldNameArray(i)
    22. fieldNameArray(i) = "16px"
    23. end select
    24. response.write("<td width="&fieldNameArray(i)&" bgcolor='#00FFFF' valign=top><font size=1 color='#000000'><b>" & RS(i).Name & "</b></a></font></td>")
    25. Next
    26. response.write("</TR>")
    27. %>
    28. </TABLE>
    29. <div id="c">
    30. <TABLE>
    31. <%
    32. Do While Not RS.EOF
    33. response.write("<TR bgcolor='#dddddd'>")
    34. For i = 0 to RS.Fields.Count - 1
    35. tmp_rs=rs(i)
    36. if isnull(tmp_rs)=true then
    37. response.write("<TD width="&fieldNameArray(i)&" VALIGN=TOP><font size=1>-</font></TD>")
    38. else
    39. response.write("<TD width="&fieldNameArray(i)&" VALIGN=TOP><font size=1>" & tmp_rs & "</font></TD>")
    40. end if
    41. Next
    42. response.write("</TR>")
    43. RS.MoveNext
    44. Loop
    45. %>
    46. </TABLE>
    47. </DIV>
    48. <%
    49. objConn.Close
    50. %>
    51. </body>
    52. </html>
    Alles anzeigen
  • naja, ich meinte jetzt mehr den fertig geparsten code
    nichtdestotrotz: korrigier die anderen fehler, so dass die seite w3c konform wird

    allein schon: <div>...</DIV> - das sieht nix aus
    aber hauptgrund könnte das <hr> sein - das kannst du nicht einfach mitten in die tabellencode machen

    wenn die linie über eine bestimmte anzahl von spalten gehen soll, dann arbeite mit colspan

    Quellcode

    1. <td colspan="10"><hr /></td>