Link to home
Start Free TrialLog in
Avatar of NevSoFly
NevSoFly

asked on

Need help freezing the header row and left most column in my html table.

I have read and tried to use some of the solutions for my problem that I have seen in other post, but have yet to get it to work properly.  The code below is my attempt to freeze the header row (I have yet to try the left most column).

     I know basically no html and have been trying to cut, paste and figure this out as I go.  Can someone please show me where I got it wrong?
    Private Sub btnSaveOutputFile_Click(sender As Object, e As EventArgs) Handles btnSaveOutputFile.Click
        'Saves known good and actual values to output.txt
        Dim objWriter As System.IO.StreamWriter
        Dim FirstTerm As String = String.Empty
        Dim SecondTerm As String = String.Empty
        Dim GSum As String = String.Empty
        Dim ASum As String = String.Empty
        Dim GProduct As String = String.Empty
        Dim GQuotient As String = String.Empty
        Dim AProduct As String = String.Empty
        Dim LineNum As String = String.Empty
        Dim AQuotient As String = String.Empty
        Dim sHTML As String

        'delete old file.
        File.Delete("output.html")
        'create new file.
        objWriter = System.IO.File.AppendText("output.html")

        sHTML = "<style style=""text/css"">"
        sHTML &= "  	.hoverTable{font-size:10pt;}"
        sHTML &= "  	.hoverTable{width:100%;border-collapse:collapse;}"
        sHTML &= "	.hoverTable td{padding:7px; border:#4e95f4 1px solid;}"
        sHTML &= "	/*  Define the background color for all the ODD background rows  */"
        sHTML &= "	.hoverTable tr:nth-child(odd){background: #b8d1f3;}"
        sHTML &= "	/*  Define the background color for all the EVEN background rows  */"
        sHTML &= "	.hoverTable tr:nth-child(even){background: #dae5f4;}"
        sHTML &= "	/* Define the hover highlight color for the table row */"
        sHTML &= "    .hoverTable tr:hover {background-color: #ffff99;}"
        sHTML &= "</style>"
        sHTML &= "<table class=""hoverTable"">"
        sHTML &= "<tr><th style=""vertical-align:top;text-align:left;height:20px;"">"
        sHTML &= "<div style=""position: fixed;top: expression(this.offsetParent.scrollTop);>"

        For Each col As DataGridViewColumn In DataGridView1.Columns
            sHTML &= "<td>" & col.HeaderText & "</td>"
        Next

        sHTML &= "</div></th></tr>"

        For Each row As DataGridViewRow In DataGridView1.Rows
            LineNum = row.Cells(0).Value
            FirstTerm = row.Cells(1).Value
            SecondTerm = row.Cells(2).Value
            GSum = row.Cells(3).Value
            ASum = row.Cells(4).Value
            GProduct = row.Cells(5).Value
            AProduct = row.Cells(6).Value
            GQuotient = row.Cells(7).Value
            AQuotient = row.Cells(8).Value

            sHTML &= "<tr><td style=""overflow: auto;"">" & LineNum & "</td><td style=""overflow: auto;"">" & FirstTerm & "</td><td style=""overflow: auto;"">" & SecondTerm & "</td><td style=""overflow: auto;"">" & GSum & _
                "</td><td style=""overflow: auto;"">" & ASum & "</td><td style=""overflow: auto;"">" & GProduct & "</td><td style=""overflow: auto;"">" & AProduct & "</td><td style=""overflow: auto;"">" & GQuotient & _
                "</td><td style=""overflow: auto;"">" & AQuotient & "</td></tr>"
        Next

        objWriter.WriteLine(sHTML)

        Me.Text = "HTML conversion completed"

        'close file.
        objWriter.Flush()
        objWriter.Close()

        System.Diagnostics.Process.Start("output.html")

    End Sub

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of Ark
Ark
Flag of Russian Federation image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial