對數據綁定GridDateView後對表頭進行自義做法
一、代碼的寫法:
Protected Sub gdv_UnReportSend_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gdv_UnReportSend.RowCreated
If (e.Row.RowType = DataControlRowType.Header) Then//要创建标头行
Dim tcl As TableCellCollection = e.Row.Cells
tcl.Clear()'清除自动生成的表头
'添加新的表头第一行
tcl.Add(New TableHeaderCell())
tcl(0).RowSpan = 2
tcl(0).Text = "報送項目"
tcl(0).CssClass = "tdHeader-Green"
tcl.Add(New TableHeaderCell())
tcl(1).RowSpan = 2
tcl(1).Text = "申請書號"
tcl(1).CssClass = "tdHeader-Green"
tcl.Add(New TableHeaderCell())
tcl(2).RowSpan = 2
tcl(2).Text = "申請日期"
tcl(2).CssClass = "tdHeader-Green"
tcl.Add(New TableHeaderCell())
tcl(3).RowSpan = 2
tcl(3).Text = "申請人"
tcl(3).CssClass = "tdHeader-Green"
tcl.Add(New TableHeaderCell())
tcl(4).ColumnSpan = 2
tcl(4).Text = "JCIC"
tcl(4).CssClass = "tdHeader-Green"
tcl.Add(New TableHeaderCell())
tcl(5).ColumnSpan = 2
tcl(5).Text = "主機</th></tr><tr>"
tcl(5).CssClass = "tdHeader-Green"
'第二行表头
tcl.Add(New TableHeaderCell())
tcl(6).Text = "日期"
tcl(6).CssClass = "tdHeader-Green"
tcl.Add(New TableHeaderCell())
tcl(7).Text = "報送"
tcl(7).CssClass = "tdHeader-Green"
tcl.Add(New TableHeaderCell())
tcl(8).Text = "日期"
tcl(8).CssClass = "tdHeader-Green"
tcl.Add(New TableHeaderCell())
tcl(9).Text = "報送"
tcl(9).CssClass = "tdHeader-Green"
End If
End Sub
二、對一些代碼的解釋:
1. _RowCreated()在创建 GridView 控件中的每一行时,将引发 RowCreated 事件。 System.Web.UI.WebControls.GridViewRowEventArgs 提供有关 RowCreated 事件的数据。将 GridViewRowEventArgs 对象传递到事件处理方法,以便您可以访问引发事件的行的属性。若要访问行中的特定单元格,请使用包含在 Row 属性中的 GridViewRow 对象的 Cells 属性。您也可以通过使用 GridViewRow 对象的 RowType 属性,确定要创建哪种行类型(标头行、数据行等)。
4.DataControlRowType 枚举指定数据控件中行的功能:
成员名称
|
说明
|
DataRow
|
数据控件的数据行。只有 DataRow 行能绑定数据。
|
EmptyDataRow
|
显示页按钮或页导航控件的行。页导航行不能绑定数据。
|
Footer
|
数据控件的脚注行。脚注行不能绑定数据。
|
Header
|
数据控件的标题行。标题行不能绑定数据。
|
Pager
|
显示页按钮或页导航控件的行。页导航行不能绑定数据。
|
Separator
|
行分隔符。行分隔符不能绑定数据。
|
7. If (e.Row.RowType = DataControlRowType.Header) Then判断当前事件的行的类型是否是Header类型。
8. TableHeaderCell : 表示Table 控件中的标题单元格。可以使用Text 属性指定或确定标题单元格的内容。也可以指定在Table控件中一个标题单元格所占的行数或列数。RowSpan和ColumnSpan属性分别控制使用的行数和列数。
10. DataGridView. AutoGenerateColumns = false;不自动产生列