IM通过使用此代码做数据分页:Datalist中分页
http://www.aspdotnetcodes.com/DataList_Dynamic_Paging_PagedDataSource.aspx
工作完美,但我的问题是:
我不想表现出较大的页码同类产品1 2 3 4 5 6 7 8 9 10 11 12 ...
欲只是得到的1 2 3 4 4页一个集团并点击下一个的下一个集团后apear
THX帮助
IM通过使用此代码做数据分页:Datalist中分页
http://www.aspdotnetcodes.com/DataList_Dynamic_Paging_PagedDataSource.aspx
工作完美,但我的问题是:
我不想表现出较大的页码同类产品1 2 3 4 5 6 7 8 9 10 11 12 ...
欲只是得到的1 2 3 4 4页一个集团并点击下一个的下一个集团后apear
THX帮助
你为什么不只是改变
for (int i = 0; i < pds.PageCount; i++)
到
for (int i = 0; i < pds.PageCount && i < 4; i++)
这是C#2.0的方式,你可能会考虑使用Enumerable.Range而不是为循环
PagedDataSource = new PagedDataSource();
PagedDataSource.DataSource = _yourData;
PagedDataSource.AllowPaging = true;
PagedDataSource.PageSize = 20;
PagedDataSource.CurrentPageIndex = PageNumber; // get from session, viewstate, ...
if (PagedDataSource.PageCount > 1)
{
rptDataPager.Visible = true;
rptDataPager.DataSource = GetPageRange(10); // try with 4 as you requested
rptDataPager.DataBind();
}
else
rptDataPager.Visible = false;
yourRepeater.DataSource = PagedDataSource;
yourRepeater.DataBind();
// and then the method
private ArrayList GetPageRange(int pagesToDisplay)
{
ArrayList pages = new ArrayList();
if (PagedDataSource.PageCount <= pagesToDisplay)
{
for (int i = 0; i < PagedDataSource.PageCount; i++)
pages.Add((i + 1).ToString());
}
else
{
if (PagedDataSource.CurrentPageIndex - (pagesToDisplay/2) <= 0)
{
for (int i = 0; i < pagesToDisplay; i++)
pages.Add((i + 1).ToString());
}
else if (PagedDataSource.CurrentPageIndex + (pagesToDisplay/2) >= PagedDataSource.PageCount)
{
for (int i = PagedDataSource.PageCount - pagesToDisplay; i < PagedDataSource.PageCount; i++)
pages.Add((i + 1).ToString());
}
else
{
for (int i = PagedDataSource.CurrentPageIndex - (pagesToDisplay/2); i < PagedDataSource.CurrentPageIndex + (pagesToDisplay/2); i++)
pages.Add((i + 1).ToString());
}
}
return pages;
}
嗨,好吧,您的建议是限制大页面数量,但如何generat下一个集团5 6 7 8 thx为您的快速回复 – markov00 2010-11-16 17:54:25
除非这是ASP.NET,否则您可能应该查看自定义分页;虽然没有经验。 – Stu 2010-11-16 18:09:53
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.pageddatasource.iscustompagingenabled.aspx – Stu 2010-11-16 18:11:13