repeater分页(asp.net(c#)中Repeater分页的问题)

:暂无数据 2026-08-15 20:20:02 :0

repeater分页(asp.net(c#)中Repeater分页的问题)

其实repeater分页的问题并不复杂,但是又很多的朋友都不太了解asp.net(c#)中Repeater分页的问题,因此呢,今天小编就来为大家分享repeater分页的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

asp.net(c#)中Repeater分页的问题

查询总页数的最后一页sql里面写的是not in最后一页减一
比如有5页查询,每页数据有5条写
select top 5 * 5 from table where id not in (5-1) * 5

select top 总页数 * 每页数据条数 not in (需要查询的页数 - 1) * 每页数据条数
就是最后一页的数据

.NET Repeater1控件 无刷新分页怎么写啊

把Repeater放在Updatepanel中不就无刷新了嘛,分页用Sql语句:select top 每页记录数* from 表 where 条件 and id not in(select top 每页记录数*(当前页数-1) id from 表 where 条件 order by 排序的字段) order by 排序的字段

repeater分页如何控制
标签的属性

DataList分页方法的核心原理是利用PagedDataSource对象,PagedDataSource类封装了DataGrid 控件的属性,这些属性使 DataGrid 可以执行分页,下面是PagedDataSource的公共属性:

AllowCustomPaging 获取或设置指示是否启用自定义分页的值。
AllowPaging 获取或设置指示是否启用分页的值。
Count 获取要从数据源使用的项数。
CurrentPageIndex 获取或设置当前页的索引。
DataSource 获取或设置数据源。
DataSourceCount 获取数据源中的项数。
FirstIndexInPage 获取页中的第一个索引。
IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。
IsFirstPage 获取一个值,该值指示当前页是否是首页。
IsLastPage 获取一个值,该值指示当前页是否是最后一页。
IsPagingEnabled 获取一个值,该值指示是否启用分页。
IsReadOnly 获取一个值,该值指示数据源是否是只读的。
IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。
PageCount 获取显示数据源中的所有项所需要的总页数。
PageSize 获取或设置要在单页上显示的项数。
VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。
那么如何使用 PagedDataSource对象进行DataList分页呢?(网上有很多的讲DataList分页的文章,有一些是糊弄人的,有的还无法起作用,我被骗过一次,本文是我经过个人实践经验得到,可以顺利执行。希望对大家有所帮助。)

现在开始拉!

第一步,取出数据到datatable中,然后获得dataview,付给PagedDataSource对象

DataView objView = objTable.DefaultView;
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = objView;
第二步,PagedDataSource对象objPds的设置

objPds.AllowPaging = true;
objPds.PageSize = 4;
objPds.CurrentPageIndex = int.Parse(ViewState[“pageindex“].ToString());
上面的这两段代码都是写在BindData()函数中的,供每次点击分页按钮时调用。BindData()函数如下:

private void BindData()
{
string sql = “SELECT * From team“;

DataTable objTable = data.GetDataTable(sql);
if (objTable != null && objTable.Rows.Count 》 0)
{
DataView objView = objTable.DefaultView;
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = objView;

objPds.AllowPaging = true;
objPds.PageSize = 4;
objPds.CurrentPageIndex = int.Parse(ViewState[“pageindex“].ToString());

if (!objPds.IsFirstPage)
{
lkPre.Visible = true;
}
else
{
lkPre.Visible = false;
}

if (!objPds.IsLastPage)
{
lkNext.Visible = true;
}
else
{
lkNext.Visible = false;
}

dlData.DataSource = objPds;
dlData.DataBind();
}
}
到此为止,我们已经将数据交给了PagedDataSource,剩下的分页将利用PagedDataSource 进行处理。可能大家注意到了,这个数据交付是完整的数据交付,如果数据量很大会造成一定的效率低下,不过这里暂时不考虑这个问题。有兴趣的朋友可以一起探讨一下。

上面的第三行代码中的 ViewState[“pageindex“] 是用来控制PagedDataSource的当前页的,我们在Page_Load事件中和第三步将要将的函数中来具体讲解如何利用 ViewState[“pageindex“]控制当前页。

BindData()函数中后面的部分是控制向前向后按钮的显隐的,不再多说。

第三步,分页控制

第二步中说过利用 ViewState[“pageindex“] 来控制当前页,为了在页面加载的时候就显示第一页,我们当然要在Page_load事件中将 ViewState[“pageindex“]置为0。

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState[“pageindex“] = “0“;
BindData(); }
}
我们需要加两个按钮(Previous、Next)来点击进行分页控制。

《asp:DataList ID=“dlData“ runat=“server“ RepeatColumns=“4“ 》
《ItemTemplate》
《asp:Label ID=“lblName“ runat=“server“ /》《br /》
《asp:Label ID=“lblTime“ runat=“server“ /》
《/ItemTemplate》
《/asp:DataList》
《asp:linkbutton ID=“lkPre“ OnCommand=“IndexChanging“ CommandArgument=“pre“ runat=“server“ 》PREVIOUS PAGE》《/asp:linkbutton》
《asp:linkbutton ID=“lkNext“ OnCommand=“IndexChanging“ CommandArgument=“next“ runat=“server“ 》NEXT PAGE《/asp:linkbutton》

两个按钮的 OnCommand都是IndexChanging()函数,我们通过CommandArgument(pre和next)来区分到底是向前翻还是向后翻。下面是IndexChanging()函数

protected void IndexChanging(object sender, EventArgs e)
{
string strCommand = ((LinkButton)sender).CommandArgument.ToString();

int pageindex = int.Parse(ViewState[“pageindex“].ToString());

if (strCommand == “pre“)
{
pageindex = pageindex - 1;
}
else
{
pageindex = pageindex + 1;
}

ViewState[“pageindex“] = pageindex;

BindData();
}
至此,我们的分页函数已经写完了。这里还有一些东西没有说,比如显示一共多少条记录,当前第几页,一共多少页以及每一页的页码。相信看懂了上面所说的后这些东西还是容易写出来的。

总结一下,我们在前台写好DataList等待数据,而数据是由PagedDataSource提供的,分页通过我们新加的两个ImageButton来控制ViewState进而达到控制PagedDataSource的CurrentPageIndex来实现的。所以,其实DataList也没干啥事,就是显示了每一页的数据而已。有一点需要说明,PagedDataSource的CurrentPageIndex是从0开始的,这也是为什么在Page_load事件中要讲ViewState置为0而不是1的缘故。

Asp.net提供了三个功能强大的列表控件:DataGrid、DataList和Repeater控件,但其中只有DataGrid控件提供分页功能。相对DataGrid,DataList和Repeater控件具有更高的样式自定义性,所以很多时候我们喜欢使用DataList或Repeater控件来显示数据。

实现DataList或Repeater控件的分页显示有几种方法:
1、写一个方法或存储过程,根据传入的页数返回需要显示的数据表(DataTable)
2、使用PagedDataSource类(位于System.Web.UI.WebControls命名空间里)

本篇文章主要说怎么使用PagedDataSource类实现DataList和Repeater控件的分页显示。DataGrid控件内部也使用了PagedDataSource类,PagedDataSource 类封装 DataGrid 控件的属性,这些属性使 DataGrid 可以执行分页。

PagedDataSource 类的部分公共属性:
AllowCustomPaging 获取或设置指示是否启用自定义分页的值。
AllowPaging 获取或设置指示是否启用分页的值。
Count 获取要从数据源使用的项数。
CurrentPageIndex 获取或设置当前页的索引。
DataSource 获取或设置数据源。
DataSourceCount 获取数据源中的项数。
FirstIndexInPage 获取页中的第一个索引。
IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。
IsFirstPage 获取一个值,该值指示当前页是否是首页。
IsLastPage 获取一个值,该值指示当前页是否是最后一页。
IsPagingEnabled 获取一个值,该值指示是否启用分页。
IsReadOnly 获取一个值,该值指示数据源是否是只读的。
IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。
PageCount 获取显示数据源中的所有项所需要的总页数。
PageSize 获取或设置要在单页上显示的项数。
VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。

这些属性是否和DataGrid的属性很相似?没错,DataGrid控件就是使用PagedDataSource类来实现数据分页显示的 。下面举个使用PagedDataSource类实现DataList和Repeater控件的分页显示的例子:

public void Page_Load(Object src,EventArgs e)
{
OleDbConnection objConn=new OleDbConnection(@“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\test.mdb“);
OleDbDataAdapter objCommand=new OleDbDataAdapter(“select * from Users“,objConn);
DataSet ds=new DataSet();
objCommand.Fill(ds);

//对PagedDataSource 对象的相关属性赋值
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = ds.Tables.DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 5;
int CurPage;

//当前页面从Page查询参数获取
if (Request.QueryString[“Page“] != null)
CurPage=Convert.ToInt32(Request.QueryString[“Page“]);
else
CurPage=1;

objPds.CurrentPageIndex = CurPage-1;
lblCurrentPage.Text = “Page: “ + CurPage.ToString();

if (!objPds.IsFirstPage)
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath + “?Page=“ + Convert.ToString(CurPage-1);

if (!objPds.IsLastPage)
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ “?Page=“ + Convert.ToString(CurPage+1);

//把PagedDataSource 对象赋给Repeater控件
Repeater1.DataSource=objPds;
Repeater1.DataBind();
}

两个Repeater嵌套,内层Repeater分页问题,求大神

我也试了一下,想法和你的差不多。。但是刚开始发现一个问题,就是内嵌的,没法绑定repeater,我试了几张方法都不行,应该是个bug还是什么的。

后来在CSDN找了个,他是转换成list,发现居然行了。。。我就无语了= =!~估计是我数据源没弄好吧。。把代码贴给你,因为是个测试,所以比较随便,这个代码就是在ListView1_ItemDataBound里的。(我外面那个用的是listview1)然后用的是强类型,不懂再问哈~

list2TableAdapter ad = new list2TableAdapter();

var bid = ((DataRowView)e.Item.DataItem).Row[“bid“];
var table =
ad.GetDataById(new Guid(bid.ToString())).ToList();//重点是这个。。转成这个居然就可以了- -#
Repeater r = (Repeater)e.Item.FindControl(“Repeater1“);
r.DataSource = table;
r.DataBind();

其实。后来想想,用mvc的话会简单很多,完全业务和逻辑分开。而且效果做的可以更灵活呵呵。

三层架构repeater怎么分页

持久层用来固化数据,如常说的DAO层,操作数据库将数据入库 业务层用来实现整体的业务逻辑 如 前台获得了数据,逻辑层去解析这些数据,效验这些数据等操作 表现层很好解释 你现在看到的网页 一些界面 都属于表现层的东西可以用一些Html,jsp,Swing来实现 至于mvc么对应的是 model(模型) view(视图) Controller(控制) 在javaweb中就很好理解了再XX系统中,前台页面属于view 贯穿前台后台持久层的一套模型就是model(EJB,Spring来实现) 而连接前台后台进行逻辑操作的就是Controller(Struts来实现)

文章分享结束,repeater分页和asp.net(c#)中Repeater分页的问题的答案你都知道了吗?欢迎再次光临本站哦!

repeater分页(asp.net(c#)中Repeater分页的问题)

本文编辑:admin

本文相关文章:


关于dropdownlist说法错误的是()(asp.net.明天考试急求答案请带解释,谢谢)

关于dropdownlist说法错误的是()(asp.net.明天考试急求答案请带解释,谢谢)

其实关于dropdownlist说法错误的是()的问题并不复杂,但是又很多的朋友都不太了解asp.net.明天考试急求答案请带解释,谢谢,因此呢,今天小编就来为大家分享关于dropdownlist说法错误的是()的一些知识,希望可以帮助到大

2026年10月9日 14:30

asp sql(asp中sql查询语句)

asp sql(asp中sql查询语句)

这篇文章给大家聊聊关于asp sql,以及asp中sql查询语句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月1日 05:10

分页符的作用(word分页符.分栏符.换行符.分节符有什么作用)

分页符的作用(word分页符.分栏符.换行符.分节符有什么作用)

本篇文章给大家谈谈分页符的作用,以及word分页符.分栏符.换行符.分节符有什么作用对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年8月23日 15:10

Jsp如何实现分页功能(使用MySQL数据库)?看看JSP中怎样实现分页显示

Jsp如何实现分页功能(使用MySQL数据库)?看看JSP中怎样实现分页显示

这篇文章给大家聊聊关于jsp分页,以及Jsp如何实现分页功能(使用MySQL数据库)对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年8月20日 22:40

文档怎么分页?jsp分页查询

文档怎么分页?jsp分页查询

各位老铁们,大家好,今天由我来为大家分享分页,以及文档怎么分页的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年8月8日 21:20

文档如何分页?word怎么分页

文档如何分页?word怎么分页

其实分页的问题并不复杂,但是又很多的朋友都不太了解文档如何分页,因此呢,今天小编就来为大家分享分页的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年7月15日 16:10

淘宝购物车代码(asp.net 如何实现这种购物车功能)

淘宝购物车代码(asp.net 如何实现这种购物车功能)

本篇文章给大家谈谈淘宝购物车代码,以及asp.net 如何实现这种购物车功能对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年6月28日 16:10

更多文章:


promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

java开发工具包jdk(JDK是什么意思)

java开发工具包jdk(JDK是什么意思)

其实java开发工具包jdk的问题并不复杂,但是又很多的朋友都不太了解JDK是什么意思,因此呢,今天小编就来为大家分享java开发工具包jdk的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 04:50

mysql 命令(MySQL的基本命令)

mysql 命令(MySQL的基本命令)

大家好,如果您还对mysql 命令不太了解,没有关系,今天就由本站为大家分享mysql 命令的知识,包括MySQL的基本命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年10月11日 03:00

手机云备份是什么意思?手机上的云备份有什么用 怎么用呢

手机云备份是什么意思?手机上的云备份有什么用 怎么用呢

各位老铁们,大家好,今天由我来为大家分享云备份,以及手机云备份是什么意思的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年10月11日 02:40

java遍历map的key(java Map 怎么遍历)

java遍历map的key(java Map 怎么遍历)

大家好,java遍历map的key相信很多的网友都不是很明白,包括java Map 怎么遍历也是一样,不过没有关系,接下来就来为大家分享关于java遍历map的key和java Map 怎么遍历的一些知识点,大家可以关注收藏,免得下次来找不

2026年10月11日 02:20

微信xlsx文件怎么打开(苹果手机微信打开excel)

微信xlsx文件怎么打开(苹果手机微信打开excel)

大家好,关于微信xlsx文件怎么打开很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于苹果手机微信打开excel的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 01:10

reduce用法和短语(减少的英文短语有哪些)

reduce用法和短语(减少的英文短语有哪些)

其实reduce用法和短语的问题并不复杂,但是又很多的朋友都不太了解减少的英文短语有哪些,因此呢,今天小编就来为大家分享reduce用法和短语的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 00:40

最近更新

promote翻译(英语翻译倡导怎么说)
2026-10-11 06:30:03 浏览:0
热门文章

标签列表