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语句? 展开
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语句? 展开
5个回答
展开全部
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文中不能有乘号"*".
每次点击按钮.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 广告
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸...
点击进入详情页
本回答由ZESTRON提供
展开全部
你调试试下,添加上curpage 变量来检测一下,看看这变量有没有变化就知道对不对了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你每翻一页都执行了Paging(),但是Paging()每次都把sql定义为select * from lyb,你说会出现什么情况?
去网上下个公用的存储过程吧,很多的。
去网上下个公用的存储过程吧,很多的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
上面有人说了我想说的。就是去下载一个公用的存储过程分页吧。。。
另外,说个题外话,你的程序性能极差。如果到上 有 10W 条以上的数据,估计很快就挂了。
所以,分页还是要手工分好的好。
也就是使用存储过程分页。填进 DATATABLE,然后再绑在 Repeater 里。
另外,说个题外话,你的程序性能极差。如果到上 有 10W 条以上的数据,估计很快就挂了。
所以,分页还是要手工分好的好。
也就是使用存储过程分页。填进 DATATABLE,然后再绑在 Repeater 里。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
网上找个分页的存储过程看下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询