vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fortgeschrittene Programmierung
Re: Flexgrid in HTML umwandeln 
Autor: benne
Datum: 16.12.09 13:16

Hallo Dieter,

hat prima funktioniert,
jetzt kämpfe ich noch mit der Breite der Zellen.
Ich gebe jeder Zelle die prozentuale Breite mit, aber irgendwie
sind die Zellen, die weniger Text haben, immer noch schmaler.

Wen es interessiert, so weit bin ich schon :
( OK, der Code muss noch etwas kultiviert werden ... )

Private Sub PrintHTML()
    Dim txt As String
    Dim r As Integer
    Dim c As Integer
    Dim fname As String
    Dim fnum As Integer
    Dim clsobjGrid As MSFlexGrid
    Dim lngForeColor As Long
    Dim lngBackColor As Long
    Dim dblWidth As Single
 
    Set clsobjGrid = Me.objGrid.Object
    clsViewControl.bolLoadData = True ' stoppt das Ereignis bei EnterCell
 
    txt = "<TABLE BORDER=1 BGCOLOR=#FFFFFF CELLPADDING=1 cellspacing=0" & _
      "width=100% rules=""all"">" _
        & vbCrLf
 
    txt = txt & "<TR>" & vbCrLf
    For c = 0 To clsobjGrid.Cols - 1
        lngBackColor = vbWhite
        lngForeColor = vbBlue
        clsobjGrid.col = c
        If c = 0 Then dblWidth = 10 Else dblWidth = 90 / clsobjGrid.Cols
        txt = txt & "  <TH" & _
            " width =""" & Format(dblWidth, "0.000") & "%"" " & _
            " bgcolor=" & RGB2HTML(lngBackColor) & """>" & _
            "<font face=""" & clsobjGrid.CellFontName & """ size=""2""" & "" & _
            "color=" & RGB2HTML(lngForeColor) & """>" & _
            clsobjGrid.TextMatrix(r, c) & "</font> </TH>" & _
            vbCrLf
    Next c
    txt = txt & "</TR>" & vbCrLf
 
    For r = 1 To clsobjGrid.Rows - 1
        txt = txt & "<TR>" & vbCrLf
        For c = 0 To clsobjGrid.Cols - 1
            clsobjGrid.row = r
            clsobjGrid.col = c
            If c = 0 Then dblWidth = 10 Else dblWidth = 90 / clsobjGrid.Cols
 
            If c = 0 Then lngBackColor = vbWhite Else lngBackColor = _
              clsobjGrid.CellBackColor
            lngForeColor = clsobjGrid.CellForeColor
 
            txt = txt & "  <TD" & _
                " width =""" & Format(dblWidth, "0.000") & "%"" " & _
                " nowrap align=""center"" bgcolor=" & RGB2HTML(lngBackColor) & _
                """>" & _
                "<font face=""" & clsobjGrid.CellFontName & """ size=""2""" & "" & _
                "color=" & RGB2HTML(lngForeColor) & """>" & _
                clsobjGrid.TextMatrix(r, c) & "</font> </TD>" & _
                vbCrLf
        Next c
        txt = txt & "</TR>" & vbCrLf
    Next r
 
    txt = "<HTML><HEAD></HEAD><BODY>" & vbCrLf & _
        txt & "</font></BODY></HTML>"
 
    ' Save the text into a file.
    fname = CurrentProject.Path
    If Right$(fname, 1) <> "\" Then fname = fname & "\"
    fname = fname & "temp.htm"
 
    fnum = FreeFile
    Open fname For Output As fnum
    Print #fnum, txt
    Close fnum
    clsViewControl.bolLoadData = False
    ' Display the file.
    FollowHyperlink fname
 
    Set clsobjGrid = Nothing
 
End Sub
Wie man sieht, muss ich noch daran arbeiten ...

Gruß
Benne
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Flexgrid in HTML umwandeln1.530benne16.12.09 11:45
Re: Flexgrid in HTML umwandeln980ModeratorDieter16.12.09 12:24
Re: Flexgrid in HTML umwandeln1.072benne16.12.09 13:16

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel