|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
下面是个Repeater显示数据分页的例子 我在做时候碰到的问题给大家提一下刚开始我使用DataReader做数据源,是不行,后才换DataSet 在设置分页的时候一定要搞清晰当前页,假如你把当前页设置成1,那么他就从第二页显示数据了,因为它的当前页是从0开始的,而我们显示当前页时候是从1开始的 在比较是否达到总页数之前一定要先也给PS设置数据源,我就是先用ps.CurrentPageIndex==ps.PageCount-1检查是否在最后一页,然后再ps.DataSource=ds.Tables["authors"].DefaultView;设置数据源的,结果分页一直有问题. 呵呵,这几个问题搞了我半天。可能是我太菜了吧,学.NET还没多久呢。 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; using System.Data.SqlClient; namespace test { /// <summary> /// Repeater 的摘要说明。 /// </summary> public class Repeater : System.Web.UI.Page { protected System.Web.UI.WebControls.Panel Panel1; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.Label lbCurPage; protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.Button Button2; protected System.Web.UI.WebControls.Repeater Repeater1; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!this.IsPostBack) { this.lbCurPage.Text="1"; this.BindToRepeater(); } } private void BindToRepeater() { SqlConnection con=new SqlConnection("data source=.;database=pubs;uid=sa;pwd=123a456b"); // SqlCommand cmd=new SqlCommand("select * from authors",con); // con.Open(); // SqlDataReader dr; // dr=cmd.ExecuteReader(); SqlDataAdapter da=new SqlDataAdapter("select * from authors",con); DataSet ds=new DataSet(); da.Fill(ds,"authors"); PagedDataSource ps=new PagedDataSource(); ps.AllowPaging=true; ps.PageSize=5; this.Repeater1.DataSource=ps; ps.CurrentPageIndex=Convert.ToInt32(this.lbCurPage.Text)-1; ps.DataSource=ds.Tables["authors"].DefaultView; this.Button1.Enabled=true; this.Button2.Enabled=true; if(ps.CurrentPageIndex==0) { this.Button1.Enabled=false; } if(ps.CurrentPageIndex==ps.PageCount-1) { this.Button2.Enabled=false; } this.Repeater1.DataBind(); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方式 - 不要使用代码编辑器修改 /// 此方式的内容。 /// </summary> private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Button2.Click += new System.EventHandler(this.Button2_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) { this.lbCurPage.Text=Convert.ToString(Convert.ToInt32(this.lbCurPage.Text)-1); this.BindToRepeater(); } private void Button2_Click(object sender, System.EventArgs e) { this.lbCurPage.Text=Convert.ToString(Convert.ToInt32(this.lbCurPage.Text)+1); this.BindToRepeater(); } } } 返回类别: 教程 上一教程: ASP+FSO+框架实现ASP生成HTM并分页的方式(批量) 下一教程: 用ASP设计收发文治理系统(2) 您可以阅读与"REPEATER显示数据的例子,带分页"相关的教程: · ASP直接调用EXCEL数据的例子 · ASP直接调用EXCEL数据的例子(不用ODBC) · REPEATER控件分页的例子 · XMLHTTP异步获取网站数据的例子 · ASP直接调用EXCEL数据的例子(不用ODBC) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |