【发布时间】:2014-09-14 07:30:26
【问题描述】:
我想在我的 gridView 上进行排序和分页。
我看了几个帖子,我试过这个:
protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression;
ViewState["SortExpression"] = sortExpression;
switch (e.SortExpression)
{
case "Debit":
if (GridViewSortDirection == SortDirection.Ascending)
{
GridViewSortDirection = SortDirection.Descending;
GridView1.AllowPaging = false;
GridView1.DataSource = getItems().OrderByDescending(x => x.Debit);
GridView1.DataBind();
GridView1.AllowPaging = true;
}
else
{
GridViewSortDirection = SortDirection.Ascending;
GridView1.AllowPaging = false;
GridView1.DataSource = getItems().OrderBy(x => x.Debit);
GridView1.DataBind();
GridView1.AllowPaging = true;
}
break;
}
}
排序效果很好,但分页消失了。绑定后,我将“AllowPaging”属性设置为 true,但我将所有数据都放在一页上。为什么?
编辑:如果我在“绑定”之前删除“AllowPaging”或设置为 true,则会出现异常:System.Web.dll 中发生“System.NotSupportedException”类型的异常,但未在用户代码中处理附加信息: 数据源不支持服务端数据分页。
【问题讨论】:
-
为什么要关闭和打开分页?你不能一直开着吗?
-
我的网格有一个基本的分页,当我排序时,我会关闭分页,否则会出现异常。