自由式分页

coolyangxj 2003-07-29 10:42:11
页面没有javascript代码,
可读取指定代码,
无需dadagrid,
可节省10几k的有服务器表单生成的代码,
可分页。

///////////////////////
<%@ page language="C#"%>
<%@ import namespace="System.Text"%>
<%@ import namespace="System.Data"%>
<%@ import namespace="System.Data.OleDb"%>
<Script language="C#" RunAt="Server">
public void Page_Load(object src, System.EventArgs e){
string pro="provider=microsoft.jet.oledb.4.0;data source="+Server.MapPath("db.mdb");
OleDbConnection con=new OleDbConnection(pro);
con.Open();
OleDbDataAdapter da=new OleDbDataAdapter("Select * From yxj order by id",con) ;
DataSet ds=new DataSet();
da.Fill(ds,"yxj");
int recordcount=ds.Tables["yxj"].Rows.Count;
int pagesize=20;
int pagecount=(ds.Tables["yxj"].Rows.Count/pagesize);
int page=Convert.ToInt32(Request.QueryString.Get("pn"));
int topage=page*pagesize+pagesize;

if (page==pagecount)
{
topage=recordcount;
}

f.Text="<table border=1 cellspacing=0><tr>";
for (int i1=0;i1<ds.Tables["yxj"].Columns.Count;i1++)
{
f.Text=f.Text+"<td>"+ds.Tables["yxj"].Columns[i1].ToString()+"</td>";
}
f.Text=f.Text+"<tr>";
for (int i1=page*pagesize;i1<topage;i1++)
{
f.Text=f.Text+"<tr><td><a href=list.aspx?id="+ds.Tables["yxj"].Rows[i1][0].ToString()+">"+ds.Tables["yxj"].Rows[i1]

[0].ToString()+"</a></td><td>"+ds.Tables["yxj"].Rows[i1][1].ToString()+"</td><td>"+ds.Tables["yxj"].Rows[i1][2].ToString()

+"</td><td>"+ds.Tables["yxj"].Rows[i1][3].ToString()+"</td><td>"+ds.Tables["yxj"].Rows[i1][4].ToString()

+"</td><td>"+ds.Tables["yxj"].Rows[i1][5].ToString()+"</td><td><a href=list.aspx?id="+ds.Tables["yxj"].Rows[i1][6].ToString

()+">"+ds.Tables["yxj"].Rows[i1][6].ToString()+"</a> </td><td>"+ds.Tables["yxj"].Rows[i1][7].ToString()+"</td></tr>";
}

f.Text=f.Text+"<tr><td colspan=8>总纪录数"+recordcount.ToString();
f.Text=f.Text+"         ";
f.Text=f.Text+"字段数"+ds.Tables["yxj"].Columns.Count.ToString();
f.Text=f.Text+"         ";
f.Text=f.Text+"每页数"+pagesize;
f.Text=f.Text+"         ";
f.Text=f.Text+"总页页数"+pagecount;
f.Text=f.Text+"         ";
f.Text=f.Text+"当前页"+(page+1);
f.Text=f.Text+"         ";
f.Text=f.Text+"<a href=default3.aspx?pn=0>首页</a>";
f.Text=f.Text+"         ";
if (page>0){
f.Text=f.Text+"<a href=default3.aspx?pn="+(page-1)+">上一页</a>";
}
else
{
f.Text=f.Text+"上一页";
}
f.Text=f.Text+"         ";
if (page<pagecount){
f.Text=f.Text+"<a href=default3.aspx?pn="+(page+1)+">下一页</a>";
}
else
{
f.Text=f.Text+"下一页";
}
f.Text=f.Text+"         ";
f.Text=f.Text+"<a href=default3.aspx?pn="+pagecount+">末页</a>";
f.Text=f.Text+"</td></tr>";
f.Text=f.Text+"</table>";
con.Close();
con=null;
}
</script>
<html>
<title>单向读取数据,读取指定数据</title>
<style>
td {Font-Family:verdana;Font-Size=70%}
</style>

<asp:label id="f" runat="server"></asp:label>

</html>
...全文
30 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolyangxj 2003-08-30
  • 打赏
  • 举报
回复
可以用id>num1 and id<num2 控制
linyoung 2003-08-30
  • 打赏
  • 举报
回复
up
gujie 2003-08-18
  • 打赏
  • 举报
回复
to 楼主:
OleDbDataAdapter da=new OleDbDataAdapter("Select * From yxj order by id",con) ;

为什么我看到的分页程序都是用select * from table这样的SQL语句呢?

这样查询出所有的数据,数据量一大地话,速度慢啊

有无好的解决办法?
xu0007 2003-08-01
  • 打赏
  • 举报
回复
学习
bbsorry 2003-07-30
  • 打赏
  • 举报
回复
gooooood
老赵说高考 2003-07-30
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
Good!
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-29 10:42
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。