GridView多表頭

摘要:GridView多表頭

.ASPX的畫面

第一步 先設定好資料的Bind部分

 
            
            
                
                
                
                
                
                
                
                
                
                
                
                
                
            
            
            
            
            
            
            
            
            
        

第二步 表頭的建立的事件為GridView   RowDataBound事件

if (e.Row.RowType == DataControlRowType.Header)  //在Bound事件時,判斷目前Bound為表頭時
            {
                //取得該GridView的表頭
                TableCellCollection tcHeader = e.Row.Cells;

                //清除先前設定的表頭
                tcHeader.Clear();

                //新增第一層表頭
                tcHeader.Add( new TableHeaderCell());
                //該GridView有九個Column
                tcHeader[0].Attributes.Add("colspan", "9");
                //該表頭所要顯示的內容
                // 功用是用來第一個表頭的結尾  做為下一行的開始
                //若未在表頭內容加上就會看到下一層表頭"資料"出現在"全部資訊"後方
                tcHeader[0].Text = "全部資訊";

                //下一層的表頭
                tcHeader.Add(new TableHeaderCell());
                tcHeader[1].Attributes.Add("colspan", "5");
                //設定背景顏色
                tcHeader[1].Attributes.Add("bgcolor", "#006699");
                tcHeader[1].Text = "資料";
                
                tcHeader.Add(new TableHeaderCell());
                tcHeader[2].Attributes.Add("colspan", "4");
                tcHeader[2].Attributes.Add("bgcolor", "#006699");
                tcHeader[2].Text = "功能";

                tcHeader.Add(new TableHeaderCell());
                tcHeader[3].Attributes.Add("bgcolor", "#006611");
                tcHeader[3].Text = "主機名稱";

                tcHeader.Add(new TableHeaderCell());
                tcHeader[4].Attributes.Add("bgcolor", "#006611");
                tcHeader[4].Text = "主機識別碼";

                tcHeader.Add(new TableHeaderCell());
                tcHeader[5].Attributes.Add("bgcolor", "#006611");
                tcHeader[5].Text = "主機狀態";

                tcHeader.Add(new TableHeaderCell());
                tcHeader[6].Attributes.Add("bgcolor", "#006611");
                tcHeader[6].Text = "更新人員";

                tcHeader.Add(new TableHeaderCell());
                tcHeader[7].Attributes.Add("bgcolor", "#006611");
                tcHeader[7].Text = "更新時間";

                tcHeader.Add(new TableHeaderCell());
                tcHeader[8].Attributes.Add("bgcolor", "#006611");
                tcHeader[8].Text = "編輯";

                tcHeader.Add(new TableHeaderCell());
                tcHeader[9].Attributes.Add("bgcolor", "#006611");
                tcHeader[9].Text = "刪除";

                tcHeader.Add(new TableHeaderCell());
                tcHeader[10].Attributes.Add("colspan", "2");
                tcHeader[10].Attributes.Add("bgcolor", "#006611");
                tcHeader[10].Text = "選取";
            }

 

最後執行後頁面為

原始檔內容

錯誤 未在第一層表頭的內容加上</th></tr><tr>,就會跑到第一層表頭的後方了