【问题标题】:How to force asp.net GridView control to wrap first row within <thead> </thead> tags如何强制 asp.net GridView 控件将第一行包装在 <thead> </thead> 标签内
【发布时间】:2011-01-27 15:57:33
【问题描述】:

我想在我的 asp.Net GridView 控件中使用Christian Bach's tableSorter client-side table sorting jQuery plugin

但问题是,在它所写的文档中:

tablesorter 适用于标准 HTML 表。您必须包括 THEAD 和 TBODY 标签:

不幸的是,asp.net 仅使用标签呈现我的 GridView,并且标题行保留在第一行中。

我试过了:

   dgvRate.HeaderRow.TableSection = TableRowSection.TableHeader;

在调用 .DataBind(); 之后

只有在 header 中有 &lt;TH&gt;&lt;/TH&gt; 才有帮助。但是一切都在&lt;tbody&gt;

里面

我能做到吗,我的意思是将我的第一行从&lt;tbody&gt;&lt;/tbody&gt; 移动到&lt;thead&gt;&lt;/thead&gt;

我不想在 PreRender 阶段手动添加它;我相信这可以更简单地处理,不是吗?

谢谢

【问题讨论】:

    标签: asp.net html gridview render


    【解决方案1】:

    有时你必须给它一个可访问的类来触发它,像这样:

    protected void Page_Load(object sender, EventArgs e) 
    {
      dgvRate.UseAccessibleHeader = true;
      dgvRate.HeaderRow.TableSection = TableRowSection.TableHeader;
      dgvRate.HeaderRow.CssClass = "headerclass";
    }
    

    不过,为了在所有情况下保持行为的一致性,我会采用 PreRender 路线

    【讨论】:

    • 它不适用于我的 gridView。也许因为我在代码隐藏上动态创建了我的 GridView 列。 (我已经在一个简单的 asp.net GridView 上尝试过你的建议,我确认它在那里工作)
    • @burak - 是的,动态调整列会触发很多事件,您是在最后一次操作列之后设置的吗?
    • 完美!我已将其移至 OnPrerender 并且它有效。非常感谢!
    • 感谢 Nick 的回答,这部分对我有用:OnPostBack,新表不会生成 thead 和 tfoot !!!有什么线索吗?我还得到“表格必须按页眉、正文和页脚的顺序包含行部分。”有时...
    • 我找到了我的问题的答案:我将代码放在 gridview 预渲染中(在页面预渲染中)...
    猜你喜欢
    • 2011-02-22
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    相关资源
    最近更新 更多