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>


        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    }


        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>

    保存运行。
posted @ 2008-03-12 16:30  simplay  阅读(1466)  评论(0编辑  收藏  举报