asp.net GridView Pager 消失了!

问题描述 投票:0回答:5

我有一个使用分页的 datagridview,它工作得很好,并且我有一个下拉菜单,允许用户更改“PageSize”属性 - 10、15、25、50、100、1000 等。

当我选择的 PageSize 值大于网格的行数时,寻呼机将从网格的顶部和底部消失。

有人知道为什么吗?

我在 aspx 页面中使用自定义 PageTemplate 元素。

干杯

奥利

asp.net gridview pagination
5个回答
9
投票

行为是设计使然的。您可以通过在网格的 OnDataBound 事件中设置分页器行的 Visible 属性(使用 TopPagerRow 或 BottomPagerRow 属性访问)来强制其保持可见。例如:

protected void grid_DataBound(object sender, EventArgs e)
{
    grid.TopPagerRow.Visible = true;
}

5
投票

我发现如果您试图强制列不可见,就会发生这种情况。 例如,如果您使用:

e.Row.Cells[0].Visible = false;

您可以使寻呼机呈现不可见。

您应该使用此代码:

if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header) { e.Row.Cells[0].Visible = false; }


0
投票

当页数为一页时,无需显示下一页/上一页或其他页。 对我来说听起来很正常。


0
投票

该问题与设计有关,因此请转到 Rad Grid View 的属性并更改属性:Style-->PagerStyle-->AlwaysVisible To (True)


0
投票

验证 GridView.VirtualItemCount 有时更新数据源后该值会不同。 例如:第一次 => 100,下一次为同一数据库查询设置不同的值。

http://www.nullskull.com/articles/20060109.asp

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.