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

NevSoFlyAsked:
Who is Participating?
 
ArkConnect With a Mentor Commented:
To freeze header row with css is not so difficult. But to freeze first column you need some javascript/jquery. See http://fixed-header-using-jquery.blogspot.ru/2009/05/scrollable-table-with-fixed-header-and.html (see demo http://acatalept.com/common/test/fixed-table.html)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.