Inherits System.Web.UI.Page
Protected Function CreateDataSource() As ICollection
Dim dt As New System.Data.DataTable()
Dim dr As System.Data.DataRow
Dim i As Integer
dt.Columns.Add(New System.Data.DataColumn("Class", System.Type.GetType("System.String")))
dt.Columns.Add(New System.Data.DataColumn("Name", System.Type.GetType("System.String")))
dt.Columns.Add(New System.Data.DataColumn("Literature", System.Type.GetType("System.Decimal")))
dt.Columns.Add(New System.Data.DataColumn("Math", System.Type.GetType("System.Decimal")))
dt.Columns.Add(New System.Data.DataColumn("English", System.Type.GetType("System.Decimal")))
dt.Columns.Add(New System.Data.DataColumn("Computer", System.Type.GetType("System.Decimal")))
For i = 0 To 7
Dim rd As New System.Random(Environment.TickCount * i)
dr = dt.NewRow()
dr(0) = "Class" + i.ToString()
dr(1) = "Student" + i.ToString()
dr(2) = System.Math.Round(rd.NextDouble() * 100, 2)
dr(3) = System.Math.Round(rd.NextDouble() * 100, 2)
dr(4) = System.Math.Round(rd.NextDouble() * 100, 2)
dr(5) = System.Math.Round(rd.NextDouble() * 100, 2)
dt.Rows.Add(dr)
Next
Dim dv As New System.Data.DataView(dt)
Return dv
End Function
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' This tutorial is provided in part by Server Intellect Web Hosting Solutions http://www.serverintellect.com
' Visit http://www.DotNetTutorials.com for more ASP.NET Tutorials
If IsPostBack = False Then
GridView1.BorderColor = System.Drawing.Color.DarkOrange
GridView1.DataSource = CreateDataSource()
GridView1.DataBind()
End If
End Sub
Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
Dim rowHeader As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal)
Dim HeaderBackColor As String = "#EDEDED"
rowHeader.BackColor = System.Drawing.ColorTranslator.FromHtml(HeaderBackColor)
Dim newCells As New Literal()
newCells.Text = "Table Head letter1</th><th colspan='2'>Table Head letter2</th><th colspan='2'>Table Head letter3</th><th>Table Head letter4</th></tr><tr bgcolor='" + HeaderBackColor + "'>"
newCells.Text += "<th colspan='2'>Table Head letter5</th><th rowspan='2'>Table Head letter6</th><th colspan='2'>Table Head letter7</th></tr><tr bgcolor='" + HeaderBackColor + "'>"
newCells.Text += " <th>Table Head letter8</th><th>Table Head letter9</th><th>Table Head letter10</th><th>Table Head letter11</th><th>Table Head letter12"
Dim cells As TableCellCollection = e.Row.Cells
Dim headerCell As New TableHeaderCell()
headerCell.RowSpan = 2
headerCell.Controls.Add(newCells)
rowHeader.Cells.Add(headerCell)
rowHeader.Cells.Add(headerCell)
rowHeader.Visible = True
GridView1.Controls(0).Controls.AddAt(0, rowHeader)
End If
End Sub
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Attributes.Add("style", "background:#9999FF;color:#FFFFFF;font-size:14px")
Else
e.Row.Attributes.Add("style", "background:#FFF")
End If
End Sub
End Class