如何使用asp.net gridview进行足迹分页?

时间:2014-06-26 20:21:13

标签: asp.net pagination footable

Footable是jQuery响应数据表的插件,当我尝试将它与asp.net GridView组件一起使用时,我有一个问题是将分页插件附加到表的底部。

Footable教程说要将自定义div添加到表的tfoot元素

<div class="pagination pagination-centered hide-if-no-paging"></div>

但问题是,如何将这个自定义html放在tfoot标签中,因为GridView会自动生成整个html?你不能简单地将html与asp.net放在一起,所以我必须制作一个解决方法来生成tfoot中的代码。我希望它能帮助将来的某个人,因为我找不到任何类似的解决方案。

1 个答案:

答案 0 :(得分:2)

为了解决这个问题,我改编了一个我在这里找到的方法:ASP.NET GridView Newbie Questions About TFOOT and TH

要包含分页所需的自定义div标记,结果为:

    protected void onRowCreate(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Footer)
        {
            int colSpan = e.Row.Cells.Count;

            for (int i = (e.Row.Cells.Count - 1); i >= 1; i -= 1)
            {
                e.Row.Cells.RemoveAt(i);
                e.Row.Cells[0].ColumnSpan = colSpan;
            }

            e.Row.Cells[0].Controls.Add(new LiteralControl("<ul class='pagination pagination-centered hide-if-no-paging'></ul>"));
        }
    }

在GridView声明中称之为'onRowCreated'

 <asp:GridView ID="gridViewClientes" ShowFooter="true" OnRowCreated="onRowCreate">

别忘了在tablePrerender上调用它,以正确创建TFOOT:

gridViewClientes.FooterRow.TableSection = TableRowSection.TableFooter;

注意:我实际上必须将DIV元素从footable示例更改为UL元素才能正常工作。