GridView多行合并表头的实现

转载 2007年09月28日 23:33:00

表格的多行复合表头是在开发中经常遇到的问题,怎么扩展GridView控件以实现多行表头呢

主体思路是这样的,GridView在ASP.NET中最终是转化为html的表格格式来显示的,所以我们要在其中做点文章,
看下面这段代码:
    //在GridView的RowCreated事件中重写表头
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        判断创建的行是不是标题行
        if (e.Row.RowType == DataControlRowType.Header)
        {
            TableCellCollection tcl = e.Row.Cells;
            //清除自动生成的表头
             tcl.Clear();
            
            //添加新的表头
            tcl.Add(new TableHeaderCell());
            tcl[0].RowSpan = 2;
            tcl[0].Text = "标题s";
            Label l1 = new Label();
            l1.Text = "uu";
            Button bt = new Button();
            bt.Text = "1";
            //因为自定义表头,所以原来系统中实现的排序功能就失效了
        //下面语句可以自己在表头中添加控件,自己实现排序功能

            tcl[0].Controls.Add(l1);
            tcl[0].Controls.Add(bt);

            tcl.Add(new TableHeaderCell());
            tcl[1].ColumnSpan = 2;
            tcl[1].Text = "标题2";

            tcl.Add(new TableHeaderCell());
            tcl[2].RowSpan = 2;
            tcl[2].Text = "标题3";

            tcl.Add(new TableHeaderCell());
            tcl[3].ColumnSpan = 3;
            tcl[3].Text = "标题4";

            tcl.Add(new TableHeaderCell());
            tcl[4].RowSpan = 2;
            //这段是重点 其实在生成的html中tcl[4]转化为<th>标题5</th>
            //所以依照该原则注入html标签来实现,原理有些类似于SQL注入攻击

            tcl[4].Text = "标题5</th></tr><tr><th>标题2-1</th><th>标题2-2</th><th>标题4-1</th><th>标题4-2</th><th>标题4-3";


        }
    }


GridView多行表头合并

多行表头合并, 网上很多实例, 这里写的很详细, 力求让每个人都能看懂. 实现原理:GridView在ASP.NET中最终转为HMTL的表格显示表头。 在GridView创建行表头行时: e.Ro...

GridView多行表头合并

转自 xiaozhu39505的博客 http://xiaozhu39505.blog.163.com/blog/static/7638664120103903738405/...

Asp.net 2.0 自定义控件开发[实现GridView多行表头固定表体滚动效果]

转载自:http://blog.csdn.net/lifuyun/article/details/1688008, 原博客中附有源代码   (一). 概述         1. 实现GridVi...

GRIDVIEW多行表头的实现

方法一: 效果截图,第一行是通过代码添加的, 第二行GridView本身的表头   在GridView的RowCreated事件中写添加代码 protectedvoid Smar...

GridView多行表头

方法一: 实现方法就是给单元格填充我们想要的格式代码。   在行创建事件中加如下代码: protected void GridView1_RowCreated( object sender...
  • lcnmdfx
  • lcnmdfx
  • 2012年12月19日 12:57
  • 372

GridView动态创建列、多行表头

一、动态创建列: //创建GridView列的方法 private void CreateGridColumn(string dataField, string headerTex...
  • cqkxzyi
  • cqkxzyi
  • 2012年04月27日 12:12
  • 1135

GridView动态创建列、多行表头

一、动态创建列: // 创建GridView列的方法 private void CreateGridColumn( string dataField, string headerTex...
  • jumtre
  • jumtre
  • 2014年08月13日 11:35
  • 3380

asp.net合并表头,实现多行表头

  • 2012年12月11日 10:23
  • 15KB
  • 下载

gridview的表头垂直居中以及表头多行显示

有的时候对于gridview有一些需求,是这样的,表头无论一行还是多行,都需要垂直居中那么如何将表头垂直居中,网上的方法也是多种多样,但是其效果的少之又少。尤其是,如果表头有的标题是一行,有的需要用两...
  • sw_will
  • sw_will
  • 2015年07月16日 08:29
  • 1103
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:GridView多行合并表头的实现
举报原因:
原因补充:

(最多只允许输入30个字)