Repeater分页问题

usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingS... 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.OleDb;

public partial class show : System.Web.UI.Page
{

OleDbConnection OledbCon;
string strCon = @"provider = Microsoft.Jet.OLEDB.4.0;Data source = C:\Documents and Settings\Administrator\My Documents\lyb.mdb";
protected void Page_Load(object sender, EventArgs e)
{
Paging();
}
public void Paging()
{
int curpage = Convert.ToInt32(this.cp.Text);
PagedDataSource pds = new PagedDataSource();
OledbCon = new OleDbConnection(strCon);
OledbCon.Open();
string OledbStr = "select * from lyb";
OleDbDataAdapter odbA = new OleDbDataAdapter(OledbStr, OledbCon);
DataSet ds = new DataSet();
odbA.Fill(ds, "lyb");
pds.DataSource = ds.Tables["lyb"].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 2;
pds.CurrentPageIndex = curpage - 1;
this.Up.Enabled = true;
this.Down.Enabled = true;
this.First.Enabled = true;
this.Last.Enabled = true;
if (curpage == 1)
{
this.First.Enabled = false;
this.Up.Enabled = false;
}
if (curpage == pds.PageCount)
{
this.Down.Enabled = false;
this.Last.Enabled = false;
}
this.LabPageBack.Text = Convert.ToString(pds.PageCount);
//this.Repeater1.DataSource = pds;
this.Repeater1.DataBind();
OledbCon.Close();
}
protected void First_Click(object sender, EventArgs e)
{
this.cp.Text = "1";
this.Paging();
}
protected void Up_Click(object sender, EventArgs e)
{
this.cp.Text = Convert.ToString(Convert.ToInt32(this.cp.Text) - 1);
this.Paging();
}
protected void Down_Click(object sender, EventArgs e)
{
this.cp.Text = Convert.ToString(Convert.ToInt32(this.cp.Text) + 1);
this.Paging();
}
protected void Last_Click(object sender, EventArgs e)
{
this.cp.Text = this.LabPageBack.Text;
this.Paging();
}
}

我上一页 。。下一页。。最后页那些都点的起,但是为什么没分起页??请高手帮忙看看~~谢谢
加了好像也没用。。我貌似觉得我的sql语句写错了。。。请问下分页的语句怎么写啊??
我表里有 lyb_id(主键,自动编号) lyb_tm(主题) lyb_mp(人) lyb_email(邮箱) lyb_txt(内容)表明为lyb

请问怎么写分页的SQL语句?
展开
 我来答
aino77
2010-01-27 · TA获得超过920个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:283万
展开全部
Paging函数里似乎是没问题的.

每次点击按钮.Page_Load都会执行.所以加上 !ispostback 试试.
protected void Page_Load(object sender, EventArgs e)
{
if (!ispostback)
Paging();
}

补充--Sql语句.确实没写分页,补上.
select top 10 * from lyb where lyb_id not in (select top 1*10 lyb_id from lyb order by lyb_id) order by lyb_id
其中的两个数字(1 和 10)需要在页面做处理.
1是你的页数,10是你每页要显示的记录数.
之所以写成(1*10)是为了你能弄清关系.需要在页面处理后使用,sql文中不能有乘号"*".
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
yi_mzy
2010-01-27 · 超过34用户采纳过TA的回答
知道答主
回答量:143
采纳率:0%
帮助的人:64.6万
展开全部
你调试试下,添加上curpage 变量来检测一下,看看这变量有没有变化就知道对不对了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
经常上网的猫
2010-01-27 · TA获得超过1097个赞
知道小有建树答主
回答量:645
采纳率:0%
帮助的人:622万
展开全部
你每翻一页都执行了Paging(),但是Paging()每次都把sql定义为select * from lyb,你说会出现什么情况?

去网上下个公用的存储过程吧,很多的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陌上的那颗新桑
2010-01-27 · TA获得超过406个赞
知道小有建树答主
回答量:465
采纳率:100%
帮助的人:368万
展开全部
上面有人说了我想说的。就是去下载一个公用的存储过程分页吧。。。

另外,说个题外话,你的程序性能极差。如果到上 有 10W 条以上的数据,估计很快就挂了。

所以,分页还是要手工分好的好。

也就是使用存储过程分页。填进 DATATABLE,然后再绑在 Repeater 里。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6f75ac8fa
2010-01-27 · TA获得超过2513个赞
知道大有可为答主
回答量:1.3万
采纳率:0%
帮助的人:3987万
展开全部
网上找个分页的存储过程看下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式