【问题标题】:GridView doesn't show paging navigationGridView 不显示分页导航
【发布时间】:2016-06-17 23:33:17
【问题描述】:

我有一个GridView 控件,它使用数据表作为数据源。我在控件上启用了分页,GridView 显示了我指定为PageSize 的行数。但是没有分页导航,所以没办法换页。

问题:如何显示分页导航?

GridView 定义:

<asp:GridView runat="server" ID="gvResults" CssClass="report" DataKeyNames="LogId" AllowSorting="True" AllowPaging="True" PageSize="5" OnRowDataBound="gvResults_OnRowDataBound" OnPageIndexChanging="gvResults_OnPageIndexChanging"></asp:GridView>

C#:

//...stuff that gets data from database
DataTable dt = oDs.DataSet.Tables[0];
gvResults.DataSource = dt;
gvResults.DataBind();

注意:我已经在调试器中验证了数据表 dt 有超过 100 行

还有OnPageIndexChanging() 事件,基于对this question 的回答,虽然它在我的情况下不起作用(我不确定为什么它是必要的,因为在你尝试去之前不应该触发事件下一页,首先需要显示分页导航,对吗?):

protected void gvResults_OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView gv = (GridView)sender;
    DataView dv = gv.DataSource as DataView;
    if (dv != null)
    {
        DataTable dt = dv.Table;

        gv.DataSource = dt;
    }
    gv.PageIndex = e.NewPageIndex;
    gv.DataBind();
}

这是我看到的:

我希望能通过某种方式对结果进行分页。

我还尝试将PagerSettings 添加到我的GridView,如下所示:

<asp:GridView runat="server" ID="gvResults" CssClass="report" DataKeyNames="LogId" AllowSorting="True" AllowPaging="True" PageSize="5" OnRowDataBound="gvResults_OnRowDataBound" OnPageIndexChanging="gvResults_OnPageIndexChanging">
     <PagerSettings Mode="NextPreviousFirstLast" FirstPageText="First" LastPageText="Last" NextPageText="Next" PreviousPageText="Previous" Position="Bottom"></PagerSettings>
</asp:GridView>

这是最后一行呈现的 HTML 的样子。我在运行时修改了 css 以扩展行,因此很明显该行是空的。 css没有隐藏分页控件。

【问题讨论】:

  • 检查 html 渲染的代码,可能是某些 css 隐藏了它
  • @Aristos - 我用呈现的 HTML 的屏幕截图更新了我的问题。该行中没有任何内容应具有分页控件。

标签: c# asp.net gridview


【解决方案1】:

经过多次的头撞和咬牙切齿,我终于想通了。

我有另一个操作 OnRowDataBound() 的事件,它将特定列格式化为 HTML,当它在页脚行上操作时,这种转换导致没有分页控件。

解决方案是在进行转换之前检查绑定的行是否为 DataRow。

protected void gvResults_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if (!(sender is GridView) || e.Row.RowType != DataControlRowType.DataRow) return;

    //do stuff
}

然后幸福随之而来:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多