如何在 ASP.NET GridView 中使用 Footable 分页?

3

Footable是一个jQuery响应式数据表格插件,当我尝试将其与asp.net GridView组件一起使用时,遇到了一个问题,即无法将分页插件附加到表格底部。

Footable教程建议在表格的tfoot元素中添加自定义div。

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

但问题在于,如何将自定义的html放入tfoot标签中,因为GridView会自动生成整个html?你不能简单地将html与asp.net放在一起,所以我不得不想出一个解决方法来生成tfoot内部的代码。希望这能帮助未来的某些人,因为我没有找到任何类似的解决方案。


请在下方留言解释为什么要点踩 t_t,我是新手,想要帮助大家,我在问答环节中做错了什么吗? - Felipe Carminati
1
我没有点踩,但如果你没有展示你所做的工作证据来解决这个问题,人们通常会感到烦恼。因此,展示你代码的样本并解释脚本在哪里出了问题可能会有所帮助。 - crafter
谢谢 @crafter,我做了一些修改,希望它变得更好一点。 - Felipe Carminati
1
太棒了,你把解决方案作为答案发表,并添加了链接和示例代码。我给你点赞是因为这样可以平衡你的负评。 ;) - crafter
1个回答

2
为了解决这个问题,我采用了在这里找到的方法:ASP.NET GridView新手关于TFOOT和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;

注意:为了使其正常工作,我实际上需要将Footable示例中的DIV元素更改为UL元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接