GridView 容易被人忽略的 HeaderStyle-CssClass

作者:vkvi 来源:千一网络(原创) 日期:2013-1-20

为什么这么说呢?

因为 GridView 生成的是 table,我们一般为各个 Column 设置了 ItemStyle-CssClass,也即为 td 设置了 class。

而 head(不管是 tbody 中的 th,还是 thead 中的 th,请参见 GridView 如何生成 thead?),即使没有使用 CSS,其宽度都受 td 的影响了,也就看不出有什么区别。

只是有特殊应用的时候,也需要为 head 设置 CSS,那么就使用 HeaderStyle-CssClass。

你前面那位网友看了:AppendHeader 如何提供中文下载名

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
  • 1 楼:评论
    你好,我在.net的cs文件中,用TableHeaderCell重新生成了gridview的表头。代码如下
    ************************************************************
    TableCellCollection tcHeader = e.Row.Cells;
                    tcHeader.Clear();

                    //添加第一列表头,合并三行
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[0].RowSpan = 3;
                    tcHeader[0].Text = "表头";
                    //添加第二个表头,横跨2列
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[1].ColumnSpan = 2;
                    tcHeader[1].Text = "Milestone";

                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[2].RowSpan = 3;
                    tcHeader[2].Text = "Edit</th></tr><tr>";

    ********************************************************
    在生成出页面的时候发现,我创建的表头自动加载了在gridview上的ItemStyle-CssClass。 这就导致了
  • 2 楼:评论
    ********************************
    额 上文提交错误
    ***********************************
    你好,我在.net的cs文件中,用TableHeaderCell重新生成了gridview的表头。代码如下
    ************************************************************
    protected void GvList_RowCreated(object sender, GridViewRowEventArgs e)
    {
    TableCellCollection tcHeader = e.Row.Cells;
                    //清除自动生成的表头
                    tcHeader.Clear();

                    //添加第一个表头单元格, 设置为合并7个列,形成一行.
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[0].ColumnSpan = 7;
                    tcHeader[0].Text = "测试多行合并表头</th></tr><tr>";
                    //</th>表示当前单元格结束, </tr>表示本行结束, <tr>另起新一行    关键点

                    //添加第二个表头单元格, 设置为合并两行.
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[1].RowSpan = 2;
                    tcHeader[1].Text = "表头";

                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[2].Text = "表头1";

                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[3].ColumnSpan = 2;
                    tcHeader[3].Text = "表头2";

                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[4].ColumnSpan = 3;
                    tcHeader[4].Text = "表头3</th></tr><tr>";

                    //第二行的所有的单元格添加完成, 换行</th></tr><tr>

                    //添加第三行所有的单元格
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[5].Text = "表头1-1";

                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[6].Text = "表头2-1";

                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[7].Text = "表头2-2";

                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[8].Text = "表头3-1";

                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[9].Text = "表头3-2";

                    tcHeader.Add(new TableHeaderCell());
    }

    ********************************************************
    在生成出页面的时候发现,我创建的表头自动加载了在gridview上的ItemStyle-CssClass。 比如说,tcHeader[0]实际上不需要任何的css格式,然而他继承了GridView第一列的css格式。所有的列格式都继承错了。
    有没有什么方法,在我创建tcHeader的时候,取消它自动继承的css信息?
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他