代码之家  ›  专栏  ›  技术社区  ›  chris

如何将jquery表排序器与asp.net gridview一起使用?

  •  1
  • chris  · 技术社区  · 14 年前

    我正在尝试使用tablesorter插件添加gridview的排序。

    但是,gridview不呈现THEAD和TBODY标记。有没有办法让它添加它们?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Mouhannad    14 年前

    资料来源: http://justgeeks.blogspot.com/2008/09/add-tbody-and-thead-to-gridview.html

    <asp:GridView ID="GridView1" runat="server" 
        OnPreRender="GridView1_PreRender">
    </asp:GridView>
    

    反恐精英

    protected void GridView1_PreRender(object sender, EventArgs e)
    {
    
       // You only need the following 2 lines of code if you are not 
       // using an ObjectDataSource of SqlDataSource
       GridView1.DataSource = Sample.GetData();
       GridView1.DataBind();
    
       if (GridView1.Rows.Count > 0)
       {
          //This replaces <td> with <th> and adds the scope attribute
          GridView1.UseAccessibleHeader = true;
    
          //This will add the <thead> and <tbody> elements
          GridView1.HeaderRow.TableSection = TableRowSection.TableHeader;
    
          //This adds the <tfoot> element. 
          //Remove if you don't have a footer row
          GridView1.FooterRow.TableSection = TableRowSection.TableFooter;
       }
    
    }
    

        2
  •  1
  •   Stephan    13 年前

    试试这个:

    protected void grdDtls_DataBound(object sender, EventArgs e)
    {
        if (grdDtls.Rows.Count > 0)
        {
            //To render header in accessible format
            grdDtls.UseAccessibleHeader = true;
    
            //Add the <thead> element
            grdDtls.HeaderRow.TableSection = TableRowSection.TableHeader;
    
            //Add the <tfoot> element
            grdDtls.FooterRow.TableSection = TableRowSection.TableFooter;
    
            if (grdDtls.TopPagerRow != null)
            {
                grdDtls.TopPagerRow.TableSection = TableRowSection.TableHeader;
            }
            if (grdDtls.BottomPagerRow != null)
            {
                grdDtls.BottomPagerRow.TableSection = TableRowSection.TableFooter;
            }
        }
    }
    

    在你填写表格的地方使用下面的代码。

    ScriptManager.RegisterStartupScript(this, GetType(), "SortGrid",    string.Format("$(function(){{$('#{0}').tablesorter(); }});", grdDtls.ClientID), true);
    
    推荐文章