| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 831 人关注过本帖
标题:分页浏览怎么做?
只看楼主 加入收藏
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
 问题点数:0 回复次数:7 
分页浏览怎么做?
我不想用DataGrid做分页,可是我不知道怎么做分页,
谁可有代码,可以共赏一下吗?
搜索更多相关主题的帖子: 浏览 
2006-04-05 19:02
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
我可以用Datalist分页吗?有什么方法可以做到.

让我们风风火火的过一生,别平平淡淡过一年。
2006-04-05 19:08
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 

private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
this.Label1.Text="1";
this.fill();
}
}
private void fill()
{
int pag=Convert.ToInt32(this.Label1.Text);//设置当前页
SqlConnection con=new SqlConnection("server=.;database=Northwind;uid=sa;pwd=980123;");//实例化连接
SqlDataAdapter sda=new SqlDataAdapter();//建立一个数据适配器对象
sda.SelectCommand=new SqlCommand("select * from Employees",con);//实例化SelectCommand,并用他从数据库读出全部数据
DataSet ds=new DataSet();//定义一个数据集填充
sda.Fill(ds,"name");//使用适配器填充数据集到本地表“name”
PagedDataSource ps=new PagedDataSource();//实例化一个PagedDataSource,这个本来是封装是DATAGRID里面的
ps.DataSource=ds.Tables["name"].DefaultView;//设置他的数据源为ds.Tables["name"].DefaultView数据视图
ps.AllowPaging=true;//允许分页
ps.PageSize=3;//每页显示数量
ps.CurrentPageIndex=pag-1;//当前页码,因为页是从0开始的,所以要减1
this.Button1.Enabled=true;//按钮当前状态
this.Button2.Enabled=true;
this.Label5.Text=ps.PageCount.ToString();
if(pag==1)
{
this.Button1.Enabled=false;//如果当前页是 1 ,上一页按钮不可用
}
if(pag==ps.PageCount)
{
this.Button2.Enabled=false;//如果当前页是最后一页 ,下一页按钮不可用
}
this.Repeater1.DataSource=ps;
this.Repeater1.DataBind();
}
窗体代码
private void Button2_Click(object sender, System.EventArgs e)
{
this.Label1.Text=((Convert.ToInt32(this.Label1.Text))+1).ToString();
this.fill();
}

private void Button1_Click(object sender, System.EventArgs e)
{
this.Label1.Text=((Convert.ToInt32(this.Label1.Text))-1).ToString();
this.fill();
}


让我们风风火火的过一生,别平平淡淡过一年。
2006-04-05 19:09
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
上面的可以分页,但是是不能做到在一个页里有多列数据,只能有一列的.想有多列怎么办呀?

让我们风风火火的过一生,别平平淡淡过一年。
2006-04-05 19:10
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 

我的问题自己解决了,谢谢各位的关心


让我们风风火火的过一生,别平平淡淡过一年。
2006-04-06 12:03
selflxs
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-3-27
收藏
得分:0 

把你的代码写出来参考一下。
这是我写的:
Sub binddata()
TotalPage = GetTotalPage()
If Request.QueryString("commandname") <> "" Then
Select Case Request.QueryString("commandname")
Case "first"
CurrentPage = 1
Case "prev"
CurrentPage = CInt(Session("CurrentPage")) - 1
If CurrentPage < 1 Then CurrentPage = 1
Case "next"
CurrentPage = CInt(Session("CurrentPage")) + 1
If CurrentPage > TotalPage Then CurrentPage = TotalPage
Case "last"
CurrentPage = TotalPage
End Select
Session("CurrentPage") = CurrentPage
ElseIf Not (Session("CurrentPage") Is Nothing) Then
CurrentPage = Session("CurrentPage")
Else
CurrentPage = 1
Session("CurrentPage") = CurrentPage
End If
Dim adp As New OleDbDataAdapter("select * from adder order by id ", conn)
Dim ds As New DataSet
StartPosition = (CurrentPage - 1) * PageSize
adp.Fill(ds, StartPosition, PageSize, "adder")
MyRepeater.DataSource = ds.Tables("adder").DefaultView
MyRepeater.DataBind()
theCurrentPage.Text = CurrentPage.ToString
theTotalPage.Text = TotalPage.ToString

End Sub

Function GetTotalPage()

Dim TotalRecord As Integer
Dim strsql As String = "select count(*) as total From adder"
Dim cmd As New OleDbCommand(strsql, conn)
conn.Open()
Dim dr As OleDbDataReader = cmd.ExecuteReader
If dr.Read() Then
TotalRecord = dr.Item("total")
Else
TotalRecord = 0
End If
conn.Close()

If (TotalRecord Mod PageSize) = 0 Then
GetTotalPage = TotalRecord / PageSize
Else
GetTotalPage = TotalRecord \ PageSize + 1
End If

End Function


-----因为爱好,所以喜欢!!!水穷之处待云起,危崖旁侧觅坦途。
2006-04-07 13:36
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
我是的有上面那个C#做的,你看看,那个

让我们风风火火的过一生,别平平淡淡过一年。
2006-04-07 18:15
selflxs
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2006-3-27
收藏
得分:0 

哦。最近又有所发现,在做分页时,不管是Repeater还是DataList的分页都是很好做的。只要用一个pagedatasource就可以啦。


-----因为爱好,所以喜欢!!!水穷之处待云起,危崖旁侧觅坦途。
2006-06-18 17:22
快速回复:分页浏览怎么做?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019984 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved