gridview怎么固定多个表头

gridview如何固定多个表头?
我的多表头是后台生成的,           
 tcHeader.Add(new TableHeaderCell());
            tcHeader[0].RowSpan = 2;
            tcHeader[0].Text = "XXX";
求解,网上找了好多例子都不行,有无方便的方法,实现移动滚动条,表头固定,
------解决思路----------------------
GridView创建表头固定、实现滚动条示例
//利用javascript实现滚动条
<script type="text/javascript">
function s()
{
 var t = document.getElementById("<%=GridView1.ClientID%>");
 var t2 = t.cloneNode(true)
 for(i = t2.rows.length -1;i > 0;i--)
 t2.deleteRow(i)  
 t.deleteRow(0)  
 a.appendChild(t2) 
}
window.onload = s
</script>
//aspx.cs页设置
  ICollection CreateDataSource()
    {
        System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("园艺", typeof(System.Decimal)));
        dt.Columns.Add(new System.Data.DataColumn("园林", typeof(System.Decimal)));
        dt.Columns.Add(new System.Data.DataColumn("无土栽培", typeof(System.Decimal)));
        dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));

        for (int i = 0; i < 50; i++)
        {
            System.Random rd = new System.Random(Environment.TickCount * i); ;
            dr = dt.NewRow();
            dr[0] = "班级" + i.ToString();
            dr[1] = "【农垦技术】" + i.ToString();
            dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
            dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
            dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
            dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
            dt.Rows.Add(dr);
        }
        System.Data.DataView dv = new System.Data.DataView(dt);
        return dv;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            GridView1.Attributes.Add("style", "table-layout:fixed");
            GridView1.DataSource = CreateDataSource();
            GridView1.DataBind();
        }
    }

------解决思路----------------------
去找基于jQuery的固定表头的案例,朝这个方向找,有很多。