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();
}


 

相关文章推荐

Repeater分页显示

  • 2010年11月30日 17:43
  • 46KB
  • 下载

repeater分页显示

Reapter控件的分页显示在reapter控件的分页显示共有两种解决方案,一种是将数据表中的数据一次全部读出,一种是只读出本页要显示的数据,很明显,当数据两很大的时候,前者会占用很大的系统资源,所以...
  • Any_421
  • Any_421
  • 2011年05月17日 07:40
  • 157

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

repeater控件和AspnetPager控件配合使用,并附带冻结表头效果

jsp 实现数据库数据分页显示

  • 2015年11月29日 17:28
  • 2KB
  • 下载

jsp分页显示数据源代码

  • 2011年08月03日 22:11
  • 528KB
  • 下载

Android ListView实现分页显示数据

当有大量的数据需要加载到ListView的Adapter中时,全部一次性加载,通常会非常耗时,这将严重影响用户的体验性和流畅性,而分页加载则会优化加载的速度,先暂时显示一页能够显示的数据项,在拖动到最...

数据分页显示

  • 2006年02月23日 09:05
  • 1KB
  • 下载

使用listview分页显示数据

  • 2012年04月14日 13:24
  • 207KB
  • 下载

jQuery+json,分页显示数据列表,HTML+CSS,固定表头

本文主要分为两个功能部分,分页用table显示数据+固定table的表头,网上有很多两者的示例,当时看完一些发现都不太符合项目的需求,于是自己动手改了下。 先介绍分页功能。 1、分页功能。 网上...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:repeater分页显示数据
举报原因:
原因补充:

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