Repeater分页代码
//ASP.NET中的DataList和Repeater提供了简单快速的方法來显示,其间,我们可以使用<ItemTemplate>更是使我们能随心所欲的控制数据的排放样式!
//.可惜的是它们不像Datagrid那样,有内置的分页功能。
//
//如何解决呢?
//
//其实我们可以用【PagedDataSource】 类来解决分页的问题。
//
//PagedDataSource类的属性:
//
//
//DataSource -数据源
//
//AllowPaging - true 是否允许分页.
//PageSize - 每页项目数量
//PageCount - 总页数
//
//CurrentPageIndex - 当前所在的页索引
//以Repeater为例 代码如下:
==========================================================================
//Result.aspx.cs 文件
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace comeday
{
/// <summary>
/// Result 的摘要说明。
/// </summary>
public class Result : System.Web.UI.Page
{
protected System.Web.UI.WebControls.HyperLink lnkPrev;
protected System.Web.UI.WebControls.HyperLink lnkNext;
protected System.Web.UI.WebControls.Label lblCurrentPage;
protected System.Web.UI.WebControls.Label lblTotalPage;
protected System.Web.UI.WebControls.Repeater Repeater1; private void Page_Load(object sender, System.EventArgs e)
{
// 数据源
PagedDataSource Pgds=new PagedDataSource();
//
Pgds.DataSource=CreateDataSource().DefaultView;
// 设置允许分页
Pgds.AllowPaging=true;
// 每页显示为6行
Pgds.PageSize=;
// 显示总共页数
//
lblTotalPage.Text=Pgds.PageCount.ToString();
// 当前页
int CurrentPage;
// 请求页码为不为null设置当前页,否则为第一页
if(Request.QueryString["Page"] != null)
{ CurrentPage = Convert.ToInt32(Request.QueryString["Page"]);
}
else
{
CurrentPage = ;
}
// 当前页所引为页码-1
Pgds.CurrentPageIndex = CurrentPage - ;
// 显示当前页码
lblCurrentPage.Text = CurrentPage.ToString();
// 如果不是第一页,通过参数Page设置上一页为当前页-1,否则不显示连接
if(!Pgds.IsFirstPage)
{
// Request.CurrentExecutionFilePath为当前请求虚拟路径
lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage - );
}
// End If
// 如果不是最后一页,通过参数Page设置下一页为当前页+1,否则不显示连接
if(!Pgds.IsLastPage)
{
// Request.CurrentExecutionFilePath为当前请求虚拟路径
lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage + );
}
// 模板绑定数据源
Repeater1.DataSource = Pgds;
Repeater1.DataBind();
}
/// <summary>
/// 生成数据源(一个Datatable)
/// </summary>
/// <returns></returns>
public DataTable CreateDataSource()
{
DataTable dt;
DataRow dr;
dt=new DataTable();
//添加列
dt.Columns.Add(new DataColumn("IntegerValue", System.Type.GetType("System.Int32")));
dt.Columns.Add(new DataColumn("StringValue", System.Type.GetType("System.String")));
dt.Columns.Add(new DataColumn("DateTimeValue", System.Type.GetType("System.DateTime")));
dt.Columns.Add(new DataColumn("BoolValue", System.Type.GetType("System.Boolean")));
//填充数据
for( int i=;i<;i++)
{
dr = dt.NewRow();
dr[] = i;
dr[] = "Item " + i.ToString();
dr[] = DateTime.Now.ToShortTimeString();
if(i%!=)
{
dr[] = true;
}
else
{
dr[] = false;
}
dt.Rows.Add(dr);
}
return dt;
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
} /// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
===========================================================================
Result.aspx文件
<%@ Page Language="c#" Codebehind="Result.aspx.cs" AutoEventWireup="false" Inherits="comeday.Result" %>
<%@ import Namespace="System.Data" %>
<HTML>
<HEAD>
<title>DataRepeater</title>
<style type="text/css"> BODY
{
FONT: 10px Verdana, Arial, Helvetica, "sans serif"; COLOR: # } .txt { FONT-SIZE: 12px } </style>
</HEAD>
<body>
<form id="Form2" name="form1" method="post" runat="server">
<table class="txt" width="100%" border="">
<tbody>
<tr>
<td>
<asp:hyperlink id="lnkPrev" runat="server">上一页</asp:hyperlink>
<asp:hyperlink id="lnkNext" runat="server">下一页</asp:hyperlink>第<asp:label id="lblCurrentPage" runat="server"></asp:label>
页 共<asp:label id="lblTotalPage" runat="server"></asp:label>
页
</td>
</tr>
</tbody>
</table>
<asp:repeater id="Repeater1" runat="server">
<ItemTemplate>
<hr align="left" width="60%" size="">
<table class="txt" width="100%" border="">
<tr>
<td>
Order Date:
<%# DataBinder.Eval(Container.DataItem, "DateTimeValue", "{0:d}") %>
</td>
<tr>
<td>
Quantity:
<%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:N2}") %>
</td>
<tr>
<td>
Item:
<%# DataBinder.Eval(Container.DataItem, "StringValue") %>
</td>
<tr>
<td>
Order Date:
<asp:checkbox id=chk1 checked='<%# DataBinder.Eval(Container.DataItem, "BoolValue") %>' runat="server"/>
</td>
</tr>
</table>
</ItemTemplate>
</asp:repeater>
<hr hight="">
</form>
</body>
</HTML> <%@ Page Language="c#" Codebehind="Result.aspx.cs" AutoEventWireup="false" Inherits="comeday.Result" %> DataList同理。
Repeater分页代码的更多相关文章
- ASP.NET(C#) Repeater分页的实现
ASP.NET(C#) Repeater分页的实现 第一种方式: 数据库连接代码: using System; using System.Data; using System.Configuratio ...
- Oracle中经典分页代码!
在Oracle中因为没有top关键字,所以在sqlserver中的分页代码并不适用于Oracle,那么在Oracle中如何来实现分页呢? --查询所有数据 STUNO STUNAME STUAGE S ...
- 纯js分页代码(简洁实用)
纯js写的分页代码. 复制代码代码如下: //每页显示字数 PageSize=5000; //分页模式 flag=2;//1:根据字数自动分页 2:根据[NextPage]分页 //默认页 start ...
- PHP分页初探 一个最简单的PHP分页代码实现
PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...
- repeater 分页显示数据
表名:ChinaStates 控件:Repeater 查询代码DA: public class ChinaStatesDA { private DataClassesDataContext Conte ...
- JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox
1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生 ...
- PHP分页初探 一个最简单的PHP分页代码的简单实现
PHP分页代码在各种程序开发中都是必须要用到的,在网站开发中更是必选的一项. 要想写出分页代码,首先你要理解SQL查询语句:select * from goods limit 2,7.PHP分页代码核 ...
- Sql万能分页代码
sql数据库中常用的分页 我做了一个万能的 用的上的小伙伴拿去耍吧 go ----万能分页代码create procedure [dbo].[sp_datapager] @pagesize int, ...
- java常用公共代码二之分页代码的实现
在项目中,我们经常会写到一些公共的代码,来让开发人员调用,减少代码重复,下面,我就将一些常用到的公共类贴出来和大家分享!! 二.分页代码实现:在项目中,分页是一个项目中必不可少的,它可以防止我们从数据 ...
随机推荐
- Unity3D Player角色移动控制脚本
1. 简介 在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position.之前写过类似的文章,这次增加了平时常用API的脚本,每个脚本均手打测试可用. 2. ...
- [git]Git log 输出格式化(转载)
转载于:https://havee.me/linux/2015-05/git-pretty-output.html 美化完的格式: git log --graph --pretty=format:'% ...
- apache解析多个域名
之前搭建了一个网站在这台服务器上,今天心血来潮准备搭建个word press 博客,准备使用二级域名 blog.xdlxb.cn 来解析. 只需要设置httpd.conf 文件就可以了 如下 开启重定 ...
- Windows GUI代码与Windows消息问题调试利器
Windows GUI代码与Windows消息问题调试利器 记得很久前有这么一种说法: 人类区别于动物的标准就是工具的使用.同样在软件开发这个行业里面,对于工具的使用也是高手和入门级选手的主要区别,高 ...
- js基础篇——cookie使用要点
1.Cookie数量和长度的限制.各个浏览器的限制不同IE7+和Firefox最大限制为50条,chrome和Safari无限制,IE6-最大限制20条.且所有浏览器限制每个cookie长度不能超过4 ...
- SQL--存储过程
声明和调用有返回值的存储过程 分页存储过程 转账的存储过程:
- c# 打开指定的网址
System.Diagnostics.Process.Start(url);
- Autofac - 服务
上一篇中, 留了一个小问题,在一个接口下面, 注册多个类, 并能正常获取. 之前的方式是不能做到的, 在服务中, 有一种实现方式是可以的. 一.服务 1. 类型 - 描述服务的基本方法 上一篇其实使用 ...
- MVP的PV模式与SC模式
MVC是现今挺被推崇的一种架构模式,而MVP在MVC的基础对视图与模型上再解耦,使结构和各自的功能也有所改变.在去年鄙人也尝试了一下使用MVP做了一个小Demo,作为了MVC的一个变体,MVP还分了两 ...
- 手机Fildder抓包_监控应用请求
Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指co ...