我有一个使用分页的 datagridview,它工作得很好,并且我有一个下拉菜单,允许用户更改“PageSize”属性 - 10、15、25、50、100、1000 等。
当我选择的 PageSize 值大于网格的行数时,寻呼机将从网格的顶部和底部消失。
有人知道为什么吗?
我在 aspx 页面中使用自定义 PageTemplate 元素。
干杯
奥利
行为是设计使然的。您可以通过在网格的 OnDataBound 事件中设置分页器行的 Visible 属性(使用 TopPagerRow 或 BottomPagerRow 属性访问)来强制其保持可见。例如:
protected void grid_DataBound(object sender, EventArgs e)
{
grid.TopPagerRow.Visible = true;
}
我发现如果您试图强制列不可见,就会发生这种情况。 例如,如果您使用:
e.Row.Cells[0].Visible = false;
您可以使寻呼机呈现不可见。
您应该使用此代码:
if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header) { e.Row.Cells[0].Visible = false; }
当页数为一页时,无需显示下一页/上一页或其他页。 对我来说听起来很正常。
该问题与设计有关,因此请转到 Rad Grid View 的属性并更改属性:Style-->PagerStyle-->AlwaysVisible To (True)
验证 GridView.VirtualItemCount 有时更新数据源后该值会不同。 例如:第一次 => 100,下一次为同一数据库查询设置不同的值。