GridView 实现复杂的表头

实现原理:
1.将GridView 属性 ShowHeader 设为FALSE
1
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="728px" bordercolorlight="black" bordercolordark="black" ShowHeader="False">
2
<Columns>
3
<asp:BoundField DataField="字段1" HeaderText="字段1" />
4
<asp:BoundField DataField="字段2" HeaderText="字段2" />
5
<asp:BoundField DataField="字段3" HeaderText="字段3" />
6
<asp:BoundField DataField="字段4" HeaderText="字段4" />
7
<asp:BoundField DataField="字段5" HeaderText="字段5" />
8
<asp:BoundField DataField="字段6" HeaderText="字段6" />
9
<asp:BoundField DataField="字段7" HeaderText="字段7" />
10
<asp:BoundField DataField="字段8" HeaderText="字段8" />
11
</Columns>
12
<RowStyle HorizontalAlign="Center" />
13
<PagerStyle HorizontalAlign="Center" />
14
</asp:GridView>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="728px" bordercolorlight="black" bordercolordark="black" ShowHeader="False">2
<Columns>3
<asp:BoundField DataField="字段1" HeaderText="字段1" />4
<asp:BoundField DataField="字段2" HeaderText="字段2" />5
<asp:BoundField DataField="字段3" HeaderText="字段3" />6
<asp:BoundField DataField="字段4" HeaderText="字段4" />7
<asp:BoundField DataField="字段5" HeaderText="字段5" />8
<asp:BoundField DataField="字段6" HeaderText="字段6" />9
<asp:BoundField DataField="字段7" HeaderText="字段7" />10
<asp:BoundField DataField="字段8" HeaderText="字段8" />11
</Columns>12
<RowStyle HorizontalAlign="Center" />13
<PagerStyle HorizontalAlign="Center" />14
</asp:GridView>2.将数据集绑定到GridView中
1
public void BindTable()
2
{
3
DataTable dt = new DataTable("aa");
4
dt.Columns.Add("字段1");
5
dt.Columns.Add("字段2");
6
dt.Columns.Add("字段3");
7
dt.Columns.Add("字段4");
8
dt.Columns.Add("字段5");
9
dt.Columns.Add("字段6");
10
dt.Columns.Add("字段7");
11
dt.Columns.Add("字段8");
12
for (int i = 0; i < 15; i++)
13
{
14
DataRow dr = dt.NewRow();
15
dr[1] = i.ToString();
16
dr[2] = i.ToString();
17
dr[3] = i.ToString();
18
dr[4] = i.ToString();
19
dr[5] = i.ToString();
20
dr[6] = i.ToString();
21
dr[7] = i.ToString();
22
dr[0] = i.ToString();
23
dt.Rows.Add(dr);
24
}
25
GridView1.DataSource = dt;
26
GridView1.DataBind();
27
}
public void BindTable()2
{3
DataTable dt = new DataTable("aa");4
dt.Columns.Add("字段1");5
dt.Columns.Add("字段2");6
dt.Columns.Add("字段3");7
dt.Columns.Add("字段4");8
dt.Columns.Add("字段5");9
dt.Columns.Add("字段6");10
dt.Columns.Add("字段7");11
dt.Columns.Add("字段8");12
for (int i = 0; i < 15; i++)13
{14
DataRow dr = dt.NewRow();15
dr[1] = i.ToString();16
dr[2] = i.ToString();17
dr[3] = i.ToString();18
dr[4] = i.ToString();19
dr[5] = i.ToString();20
dr[6] = i.ToString();21
dr[7] = i.ToString();22
dr[0] = i.ToString();23
dt.Rows.Add(dr);24
}25
GridView1.DataSource = dt;26
GridView1.DataBind();27
}3.利用javascript动态的添加表头.
1
<script type="text/javascript">
2
3
function intt()
4
{
5
var getTb= document.getElementById("GridView1");
6
var crTR = getTb.insertRow(0);
7
var crTD1 = crTR.insertCell();
8
crTD1.innerHTML="<div class='h'>字段1</div>";
9
var crTD2 = crTR.insertCell();
10
crTD2.innerHTML="<div class='h'>字段2</div>";
11
var crTD3 = crTR.insertCell();
12
crTD3.innerHTML="<div class='h'>字段3</div>";
13
var crTD4 = crTR.insertCell();
14
crTD4.innerHTML="<div class='h'>字段4</div>";
15
var crTD5 = crTR.insertCell();
16
crTD5.innerHTML="<div class='h'>字段5</div>";
17
var crTD6 = crTR.insertCell();
18
crTD6.innerHTML="<div class='h'>字段6</div>";
19
var crTD7 = crTR.insertCell();
20
crTD7.innerHTML="<div class='h'>字段7</div>";
21
var crTD8 = crTR.insertCell();
22
crTD8.innerHTML="<div class='h'>字段8</div>";
23
24
25
var crTR2 = getTb.insertRow(0);
26
var crTD12 = crTR2.insertCell();
27
crTD12.innerHTML="<div class='h'>合并</div>";
28
var crTD22 = crTR2.insertCell();
29
crTD22.innerHTML="<div class='h'>合并</div>";
30
var crTD32 = crTR2.insertCell();
31
crTD32.colSpan=2;
32
crTD32.innerHTML="<div class='h'>合并</div>";
33
var crTD42 = crTR2.insertCell();
34
crTD42.colSpan=2;
35
crTD42.innerHTML="<div class='h'>合并</div>";
36
var crTD52 = crTR2.insertCell();
37
crTD52.innerHTML="<div class='h'>合并</div>";
38
crTD52.colSpan=2;
39
40
var crTR3 = getTb.insertRow(0);
41
var crTD13 = crTR3.insertCell();
42
crTD13.innerHTML="<div class='h'>合并</div>";
43
crTD13.colSpan=2
44
var crTD33 = crTR3.insertCell();
45
crTD33.colSpan=6;
46
crTD33.innerHTML="<div class='h'>合并</div>";
47
48
}
49
intt();
50
</script>
<script type="text/javascript">2
3
function intt()4
{5
var getTb= document.getElementById("GridView1");6
var crTR = getTb.insertRow(0);7
var crTD1 = crTR.insertCell();8
crTD1.innerHTML="<div class='h'>字段1</div>";9
var crTD2 = crTR.insertCell(); 10
crTD2.innerHTML="<div class='h'>字段2</div>";11
var crTD3 = crTR.insertCell();12
crTD3.innerHTML="<div class='h'>字段3</div>";13
var crTD4 = crTR.insertCell(); 14
crTD4.innerHTML="<div class='h'>字段4</div>";15
var crTD5 = crTR.insertCell(); 16
crTD5.innerHTML="<div class='h'>字段5</div>";17
var crTD6 = crTR.insertCell(); 18
crTD6.innerHTML="<div class='h'>字段6</div>";19
var crTD7 = crTR.insertCell(); 20
crTD7.innerHTML="<div class='h'>字段7</div>";21
var crTD8 = crTR.insertCell(); 22
crTD8.innerHTML="<div class='h'>字段8</div>";23
24
25
var crTR2 = getTb.insertRow(0); 26
var crTD12 = crTR2.insertCell(); 27
crTD12.innerHTML="<div class='h'>合并</div>";28
var crTD22 = crTR2.insertCell(); 29
crTD22.innerHTML="<div class='h'>合并</div>";30
var crTD32 = crTR2.insertCell(); 31
crTD32.colSpan=2;32
crTD32.innerHTML="<div class='h'>合并</div>";33
var crTD42 = crTR2.insertCell(); 34
crTD42.colSpan=2;35
crTD42.innerHTML="<div class='h'>合并</div>";36
var crTD52 = crTR2.insertCell(); 37
crTD52.innerHTML="<div class='h'>合并</div>";38
crTD52.colSpan=2;39
40
var crTR3 = getTb.insertRow(0); 41
var crTD13 = crTR3.insertCell(); 42
crTD13.innerHTML="<div class='h'>合并</div>";43
crTD13.colSpan=244
var crTD33 = crTR3.insertCell(); 45
crTD33.colSpan=6;46
crTD33.innerHTML="<div class='h'>合并</div>";47
48
}49
intt();50
</script>保存运行。

浙公网安备 33010602011771号