repeater分页显示数据

原创 2007年09月26日 09:42:00
Repeater分页显示
简单的说,先从控件工具箱中拖入两个label(currten page当前页,count page总页),四个linkbuttion(首/下页/上页/尾页)。
无非就是+1 -1 的问题,
------------------------
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class gonggao : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.labPage.Text = "1";
this.contrlRepeater();
}
}
//获取指字符个数的字符
public string cuts(string aa,int bb)
{
if (aa.Length <= bb) { return aa; }
else { return aa.Substring(0, bb); }
}


//Repeater分页控制显示方法
public void contrlRepeater()
{
PB pb1 = new pb();
DataSet ss = new DataSet();
ss = pb1.returnDs("select top 200 [标题],[时间] from news");
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ss.Tables["temptable"].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 2;
pds.CurrentPageIndex = Convert.ToInt32(this.labPage.Text) - 1;
Repeater1.DataSource = pds;
LabCountPage.Text = pds.PageCount.ToString();
labPage.Text = (pds.CurrentPageIndex + 1).ToString();
this.lbtnpritPage.Enabled = true;
this.lbtnFirstPage.Enabled = true;
this.lbtnNextPage.Enabled = true;
this.lbtnDownPage.Enabled = true;
if(pds.CurrentPageIndex<1)
{
this.lbtnpritPage.Enabled = false;
this.lbtnFirstPage.Enabled = false;
}
if (pds.CurrentPageIndex == pds.PageCount-1)
{
this.lbtnNextPage.Enabled = false;
this.lbtnDownPage.Enabled = false;
}
Repeater1.DataBind();
}
protected void lbtnpritPage_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(labPage.Text) - 1);
this.contrlRepeater();
}
protected void lbtnFirstPage_Click(object sender, EventArgs e)
{
this.labPage.Text = "1";
this.contrlRepeater();
}
protected void lbtnDownPage_Click(object sender, EventArgs e)
{
this.labPage.Text =this.LabCountPage.Text;
this.contrlRepeater();
}

protected void lbtnNextPage_Click(object sender, EventArgs e)
{
this.labPage.Text = Convert.ToString(Convert.ToInt32(labPage.Text) + 1);
this.contrlRepeater();
}
}
--------------------------------------------------------
ASPx文件:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="gonggao.ascx.cs" Inherits="gonggao" %>
<table>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr><td><a href=""><%# cuts(DataBinder.Eval(Container.DataItem,"[标题]").ToString(),8)%></a></td>
<td><a href=""><%# cuts(DataBinder.Eval(Container.DataItem,"[时间]").ToString(),5)%></a></td></tr>
</ItemTemplate>
</asp:Repeater>
</table>
<table border="1"><tr><td align="center">
<asp:LinkButton ID="lbtnFirstPage" runat="server" OnClick="lbtnFirstPage_Click">页首</asp:LinkButton>
<asp:LinkButton ID="lbtnpritPage" runat="server" OnClick="lbtnpritPage_Click">上一页</asp:LinkButton>
<asp:LinkButton ID="lbtnNextPage" runat="server" OnClick="lbtnNextPage_Click">下一页</asp:LinkButton>
<asp:LinkButton ID="lbtnDownPage" runat="server" OnClick="lbtnDownPage_Click">页尾</asp:LinkButton><br />
第<asp:Label ID="labPage" runat="server" Text="Label"></asp:Label>页/共<asp:Label ID="LabCountPage" runat="server" Text="Label"></asp:Label>页 跳至<asp:DropDownList
ID="DropDownList1" runat="server">
</asp:DropDownList>
</td></tr>
</table>


附:pb.returnDs(根据SQL语句返回dataSet数据集.temptable表)
public DataSet returnDs(string sqlStr)
{

DataSet ds = new DataSet();
try
{
//conn.Open();
SqlCommand comm = new SqlCommand(sqlStr, conn);
comm.CommandTimeout = 20;
this.conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(comm);
sda.Fill(ds, "temptable");
return ds;
conn.Close(); conn.Dispose(); comm.Dispose();

}
catch (Exception e)
{
throw (e);
// ds = null;
return ds;
}
finally
{
this.conn.Close();
}


 

.NET实现Repeater控件+AspNetPager控件分页

.NET实现Repeater控件+AspNetPager控件分页 SqlConnection (.NET C#) 连接及分页  .net的访问数据机制决定了访问大量数据时会致使客户端机器消耗大...
  • kingmax54212008
  • kingmax54212008
  • 2013年03月07日 23:25
  • 3070

repeater用法一步一步详讲,用来绑定和显示数据信息

估计要分两部:  一部分UI部分:在一个div里面可以写个repeater服务器控件,用来横排显示需要的数据; 首先,repeater这个控件,有head,items,foot三个部分,不一定全用。 ...
  • Theflybird
  • Theflybird
  • 2013年06月08日 15:41
  • 6325

Repeater和AspnetPager实现分页显示及固定表头

repeater控件和AspnetPager控件配合使用,并附带冻结表头效果
  • xiaouncle
  • xiaouncle
  • 2016年08月06日 19:12
  • 1794

ajax刷新ASP.NET Repeater控件的数据

使用repeater控件时,遇到这样一个问题,
  • u010371458
  • u010371458
  • 2014年01月25日 16:27
  • 1685

动态合并Repeater控件数据列

我们在网站上,创建一个网页,拉Repeater控件至网页: 去.aspx.cs为Repeater控件绑定数据,数据库表格,存储过程,以及连接数据库获取数据,在此不提供。 浏览效...
  • donghui6116773
  • donghui6116773
  • 2015年02月11日 15:20
  • 524

给repeater添加序号

在做选课系统的时候新添加了快速选课的功能,其中涉及添加联系人的功能,这就需要显示数据,显示数据的时候就需要给数据编号。对于我来说有点难度,但还是欣然的面对任务,上网查了些资料对repeater控件有了...
  • liu_yujie2011com
  • liu_yujie2011com
  • 2014年03月23日 11:46
  • 4871

asp.net中Repeater中嵌套Repeater来显示跟外层Repeater数据相关的其他信息

在实际开发中,比如在统一权限管理系统中,我们预先定义了一些列角色,我们点击每一个角色,进入一个应用系统列表,我们要知道每个应用系统中,该角色已经拥有多少菜单访问权限,我们就可以通过Repeater中嵌...
  • taomanman
  • taomanman
  • 2015年07月03日 16:38
  • 1824

粗略区分Gridview,repeater,datelist数据控件的差异

比较GridView Repeater DataList三种绑定控件、从灵活性和执行效率上综合考虑,Repeater当属第一。gridview功能最强大,但是对待嵌套绑定问题、疑难杂症,还是用Data...
  • jintougao
  • jintougao
  • 2014年01月24日 10:04
  • 1375

利用Repeater控件实现数据分页显示

1@ Page Language="C#" %>   2@ Import Namespace="System.Data.SqlClient" %>   3@ Import Namespace="Sys...
  • ytbhhws
  • ytbhhws
  • 2013年11月04日 15:30
  • 666

SqlServer分页存储过程(多表查询,多条件排序),Repeater控件呈现数据以及分页

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如...
  • limingblogs
  • limingblogs
  • 2016年04月25日 21:53
  • 1363
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:repeater分页显示数据
举报原因:
原因补充:

(最多只允许输入30个字)