您现在的位置是:首页 >

如何分页 Repeater和DataList分页

火烧 2022-06-04 18:57:36 1045
Re eater和DataLi t分页   因为项目需要 要用到DataLi t和Re eater的分页 但这两种加载数据的控件 本身并不自带分页功能 要控制查询语句来进行分页 但是语句过于复杂 或是

Repeater和DataList分页  

  因为项目需要 要用到DataList和Repeater的分页 但这两种加载数据的控件 本身并不自带分页功能 要控制查询语句来进行分页 但是语句过于复杂 或是条件太多 语句很难写 但用PagedDataSource进行分页 就简单多了 代码分配清晰 容易理解

  下面实例是用PagedDataSource类实现DataList控件的数据分页 也可用于Repeater

  页面后台代码

  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;

  using System Data SqlClient;

  public partial class Demo : System Web UI Page

  {

  protected SqlConnection conn;  //添加数据库的操作对象

  protected SqlDataAdapter da;

  protected DataSet ds;

  protected SqlCommand m;

  protected void Page_Load(object sender EventArgs e)

  {

  getArticle();

  }

  private void getArticle()      //取得Article数据

  {

  conn = new SqlConnection( server= ;database=ObtainEmployment;user id=sa;password=; );//取连接字符串 建立连接

  da = new SqlDataAdapter();

  da SelectCommand = new SqlCommand( SELECT top   * FROM db_Article where  checkup= ORDER BY intime DESC conn);

  ds = new DataSet();

  try

  {

  conn Open();

  da Fill(ds Article );

  conn Close();

  }

  catch (SqlException e )

  {

  Response Write(e ToString());

  }

  int cup = Convert ToInt (this lb_CurrentPage Text);  //当前页数 初始化为地 页

  PagedDataSource ps = new PagedDataSource();

  ps DataSource = ds Tables[ Article ] DefaultView;

  ps AllowPaging = true;

  ps PageSize = ;     //每页显示的数据的行数

  ps CurrentPageIndex = cup ;

  lb_count Text = ps DataSourceCount ToString(); //获取记录总数

  lb_page Text = ps PageCount ToString(); //获取总页数

  if (!IsPostBack)

  {

  for (int i = ; i < ps PageCount + ; i++)

  {

  this DropDownList Items Add(i ToString());

  }

  LinkUp Enabled = true;

  LinkDown Enabled = true;

  }

  try

  {

  DropDownList SelectedItem Text = cup ToString();

  DataList DataSource = ps;

  DataList DataBind();

  }

  catch (Exception ex)

  {

  throw ex;

  }

  }

  protected void LinkDown_Click(object sender EventArgs e) //下一页按钮代码

  {

  try

  {

  lb_CurrentPage Text = Convert ToString(Convert ToInt (lb_CurrentPage Text) + );

  DropDownList SelectedValue = lb_CurrentPage Text;

  getArticle();

  }

  catch (Exception ex)

  {

  Response Write( <script language=javascript> + alert( 已经是最后一页 ) + </script> );

  lb_CurrentPage Text = ;

  getArticle();

  }

  }

  protected void DropDownList _SelectedIndexChanged(object sender EventArgs e) //跳转到指定页代码

  {

  int page =Convert ToInt ((DropDownList SelectedItem Value));

  lb_CurrentPage Text = page ToString();

  getArticle();

  }

  protected void LinkUp_Click(object sender EventArgs e)  //上一页按钮代码

  {

  try

  {

  if (Convert ToInt (lb_CurrentPage Text) > )

如何分页 Repeater和DataList分页

  {

  lb_CurrentPage Text = Convert ToString(Convert ToInt (lb_CurrentPage Text) );

  DropDownList SelectedValue = lb_CurrentPage Text;

  getArticle();

  }

  else

  {

  Response Write( <script language=javascript> + alert( 已经是第一页 ) + </script> );

  }

  }

  catch (Exception ex)

  {

  Response Write( <script language=javascript> + alert( 已经是第一页 ) + </script> );

  }

  }

  protected void LinkFirst_Click(object sender EventArgs e)  //跳到第一页代码

  {

  if (lb_CurrentPage Text != )

  lb_CurrentPage Text = ;

  else

  {

  Response Write( <script language=javascript> + alert( 已经是第一页 ) + </script> );

  }

  getArticle();

  }

  protected void LinkLast_Click(object sender EventArgs e)  //跳到最后一页代码

  {

  if (lb_CurrentPage Text ToString() !=lb_page Text ToString())

  lb_CurrentPage Text = lb_page Text ToString();

  else

  {

  Response Write( <script language=javascript> + alert( 已经是最后一页 ) + </script> );

  }

  getArticle();

  }

  }

  页面前台代码

  <%@ Page Language= C# CodeFile= Demo aspx cs Inherits= Demo %>

  <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >

  < xmlns= >

  <head runat= server >

  <title>无标题页</title>

  </head>

  <body>

  <form id= form runat= server >

  <div>

  <asp:DataList ID= DataList runat= server >

  <ItemTemplate>

  <asp:Label ID= lbNwes runat= server Text= <%#eval_r( title )%> ></asp:Label>

  &nbsp;

  <asp:Label ID= lbTime runat= server Text= <%#eval_r( intime )%> ></asp:Label>

  </ItemTemplate>

  </asp:DataList></div>

  <br />

  共<asp:Label ID= lb_count runat= server Text= Label ></asp:Label>条记录

  &nbsp; &nbsp; &nbsp; 共<asp:Label ID= lb_page runat= server Text= Label ></asp:Label>页 &nbsp;

  &nbsp; 当前第<asp:Label ID= lb_CurrentPage runat= server Text= ></asp:Label>页&nbsp; &nbsp;

  &nbsp; &nbsp;

  <asp:LinkButton ID= LinkFirst runat= server OnClick= LinkFirst_Click >第一页</asp:LinkButton>

  &nbsp; &nbsp;

  <asp:LinkButton ID= LinkUp runat= server OnClick= LinkUp_Click >上一页</asp:LinkButton>

  &nbsp; &nbsp;<asp:LinkButton ID= LinkDown runat= server OnClick= LinkDown_Click >下一页</asp:LinkButton>

  &nbsp; &nbsp;<asp:LinkButton ID= LinkLast runat= server OnClick= LinkLast_Click >最后一页</asp:LinkButton>

  &nbsp; &nbsp;转到第<asp:DropDownList ID= DropDownList runat= server OnSelectedIndexChanged= DropDownList _SelectedIndexChanged >

  </asp:DropDownList>页

  </form>

  </body>

  </>

  注: PagedDataSource 类的部分公共属性

  AllowCustomPaging  获取或设置指示是否启用自定义分页的值

  AllowPaging   获取或设置指示是否启用分页的值

  Count    获取要从数据源使用的项数

  CurrentPageIndex   获取或设置当前页的索引

  DataSource   获取或设置数据源

  DataSourceCount   获取数据源中的项数

  FirstIndexInPage   获取页中的第一个索引

  IsCustomPagingEnabled  获取一个值 该值指示是否启用自定义分页

  IsFirstPage   获取一个值 该值指示当前页是否是首页

  IsLastPage   获取一个值 该值指示当前页是否是最后一页

  IsPagingEnabled   获取一个值 该值指示是否启用分页

  IsReadOnly   获取一个值 该值指示数据源是否是只读的

  IsSynchronized   获取一个值 该值指示是否同步对数据源的访问(线程安全)

  PageCount   获取显示数据源中的所有项所需要的总页数

  PageSize   获取或设置要在单页上显示的项数

lishixinzhi/Article/program/net/201311/12972  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码