如何给list分页!

littleec 2010-09-17 12:09:02
如何给list<T>分页,我的数据现在都在list<T>中,

用的是AspNetPager控件!
...全文
258 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Adechen 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 littleec 的回复:]

哪要怎么将 net framework版本换成3.5的!
[/Quote]
对D
fengzhishangfang 2010-09-17
  • 打赏
  • 举报
回复
public void NetPager(int pageindex,int noteType)
{
int pageSize = 5;//页面内容数
int pageIndex = pageindex;//获取当前页数
AspNetPager1.PageSize = pageSize;//设置页面内容数
int outCounts;
string where = "StickyNoteTypeId =" + noteType;
showStickyNote(LiaojieDemoBLL.StickyNoteManager .GetAllStickyNote(pageSize, pageIndex, where, out outCounts));

AspNetPager1.RecordCount = outCounts;
}

protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
noteType =Convert.ToInt32(Session["NoteType"]);
NetPager(AspNetPager1.CurrentPageIndex,noteType );
}
littleec 2010-09-17
  • 打赏
  • 举报
回复
或者说,将linq加进来 !

littleec 2010-09-17
  • 打赏
  • 举报
回复
哪要怎么将 net framework版本换成3.5的!
兔子-顾问 2010-09-17
  • 打赏
  • 举报
回复
恩。他们给的都是linq的。
littleec 2010-09-17
  • 打赏
  • 举报
回复
我用的是vs2005是不是受这个的影响!
littleec 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 flyerwing 的回复:]
list<T>nlst=lst.skip(PageIndex*PageSize-PageSize).take(PageSize).tolist();
xxx.datasource=nlst;
估计OK了.
[/Quote]
我怎么没有找到这个方法:lst.skip()
wuyq11 2010-09-17
  • 打赏
  • 举报
回复
list.Skip(1).Take(10)
分页存储过程到list
flyerwing 2010-09-17
  • 打赏
  • 举报
回复
list<T>nlst=lst.skip(PageIndex*PageSize-PageSize).take(PageSize).tolist();
xxx.datasource=nlst;
估计OK了.
littleec 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 pengyi_205 的回复:]
额,原来数据源都有了,,PageDataSource 控件吧
[/Quote]
可以用么?我的是list<>的啊!
cq819 2010-09-17
  • 打赏
  • 举报
回复
public class PaginatedList<T> : List<T> {

public int PageIndex { get; private set; }
public int PageSize { get; private set; }
public int TotalCount { get; private set; }
public int TotalPages { get; private set; }

public PaginatedList(IQueryable<T> source, int pageIndex, int pageSize) {
PageIndex = pageIndex;
PageSize = pageSize;
TotalCount = source.Count();
TotalPages = (int) Math.Ceiling(TotalCount / (double)PageSize);

this.AddRange(source.Skip(PageIndex * PageSize).Take(PageSize));
}

public bool HasPreviousPage {
get {
return (PageIndex > 0);
}
}

public bool HasNextPage {
get {
return (PageIndex+1 < TotalPages);
}
}
}

夺命胖子 2010-09-17
  • 打赏
  • 举报
回复
额,原来数据源都有了,,PageDataSource 控件吧
夺命胖子 2010-09-17
  • 打赏
  • 举报
回复
List<T> dts //数据源

List<T> ts=new List<T>();

PageIndex 当前页索引
PageSize 页大小
for(int i=(PageIndex-1)*PageSize;i<PageSize;i++)
{
ts.Add(dts[i]);
}

写个思路
天下如山 2010-09-17
  • 打赏
  • 举报
回复

我用的是IList<model>
private void nDataBind()
{
int totalCount = 0;
string currentIndex;
currentIndex = Request.QueryString["page"];
string pageSize;
pageSize = AspNetPager.PageSize.ToString();

Sppaper customerlist = new Sppaper();
IList<RcustomerInfo> us = new List<RcustomerInfo>();
us = customerlist.getDataList("Rcustomer", "*", "idx", pageSize, currentIndex, "", out totalCount);
if (us.Count > 0)
{
Customermanage.DataSource = us;
Customermanage.DataBind();
}
}
webdiyer 2010-09-17
  • 打赏
  • 举报
回复
项目属性中可以设置.net框架版本
littleec 2010-09-17
  • 打赏
  • 举报
回复
可我用的是vs2005,并且也装了net framework3.5
wuyq11 2010-09-17
  • 打赏
  • 举报
回复
在VS2008选择3.5框架,新建项目

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧