doe*_*man 5 asp.net listview pager
我有一个分页的ASP.NET ListView.显示的数据被过滤,可以通过表单控制.当筛选器表单更改时,我创建一个新查询,并执行DataBind.
但问题是,当我转到下一页并设置过滤器时,ListView显示"没有返回数据".这并不奇怪,因为在应用过滤器之后,只有一页数据.
所以我想做的是重置寻呼机.这是解决问题的正确方法吗?我该怎么做?
小智 9
我在我的Load处理程序中使用了这个hack.如果结果项的数量相同,它将不会重置寻呼机,但页面索引仍然有效,所以我现在可以使用它.
if (IsPostBack)
{
DataPager pgr = MyListView.FindControl("MyPager") as DataPager;
if (pgr != null && MyListView.Items.Count != pgr.TotalRowCount)
{
pgr.SetPageProperties(0, pgr.MaximumRows, false);
}
}
Run Code Online (Sandbox Code Playgroud)
如果你知道怎么做,这很简单。我将下面的代码添加到我onchange的过滤器的 -events 中:
DataPager pager = ListViewReference.FindControl("DataPagerId") as DataPager;
if (pager != null)
{
pager.SetPageProperties(0, pager.PageSize, true);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8642 次 |
| 最近记录: |