GridView的列头部分的合并显示在项目开发当中也是较常用的一个, 这里着重介绍如何设计如下显示的列头合并: Protected Sub gvSUMRPT_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvSUMRPT.RowCreated If e.Row.RowType = DataControlRowType.Header Then 'The first header Dim tcHeader As TableCellCollection = e.Row.Cells tcHeader.Clear() tcHeader.Add(New TableHeaderCell()) tcHeader(0).Attributes.Add("bgcolor", "DarkSeaGreen") tcHeader(0).Attributes.Add("colspan", "9") tcHeader(0).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(1).Attributes.Add("bgcolor", "DarkSeaGreen") tcHeader(1).Text = "Total Received Qty</th></tr><tr>" tcHeader(1).Attributes.Add("colspan", "4") tcHeader(1).Attributes.Add("font", "Tahoma") 'The second header tcHeader.Add(New TableHeaderCell()) tcHeader(2).Text = "NUM.OF UN-FINISHED RECV(RMANO/RTVNO/REP)" tcHeader(2).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(3).Text = "24Hrs" tcHeader(3).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(4).Text = "48Hrs" tcHeader(4).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(5).Text = ">48Hrs" tcHeader(5).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(6).Text = "MB" tcHeader(6).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(7).Text = "KC" tcHeader(7).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(8).Text = "Both" tcHeader(8).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(9).Text = "NUM.OF RECV(RMANO/RTVNO/REP)" tcHeader(9).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(10).Text = "Import Item" tcHeader(10).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(11).Text = "Import Qty" tcHeader(11).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(12).Text = "FINISH RECV QTY" tcHeader(12).Attributes.Add("font", "Tahoma") tcHeader.Add(New TableHeaderCell()) tcHeader(13).Text = "Un-FINISH RECV Qty" tcHeader(13).Attributes.Add("font", "Tahoma") End If End Sub 如下代码是显示mouseover and mouseout的效果: Protected Sub gvDETRPT_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvDETRPT.RowDataBound Dim lblHeader As Label = CType(e.Row.FindControl("lblCODE"), Label) If e.Row.RowType = DataControlRowType.Header Then Select Case radLstTP.SelectedValue Case 0 lblHeader.Text = "Customer" Case 1 lblHeader.Text = "Vendor" Case Else lblHeader.Text = "Replenishement" End Select End If If e.Row.RowType = DataControlRowType.DataRow Then e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'") '鼠标移出时,行背景色变 e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'") End If End Sub