| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1003 人关注过本帖
标题:求助分页代码(要asp.net)
只看楼主 加入收藏
iceqier
Rank: 1
等 级:新手上路
威 望:1
帖 子:129
专家分:0
注 册:2006-1-22
收藏
 问题点数:0 回复次数:10 
求助分页代码(要asp.net)
如题,请写的清楚一点听,谢谢啦!
搜索更多相关主题的帖子: asp 代码 
2006-11-08 00:46
上炕不脱鞋
Rank: 1
等 级:新手上路
威 望:1
帖 子:332
专家分:0
注 册:2006-3-19
收藏
得分:0 

DataGrid的吗?我这里有个存储过程

CREATE PROCEDURE Page
@PageNo int, --页数
@PageSize int --页大小4
AS

Declare @sN varchar(10)
Declare @sNP varchar(10)

Set @sN=Convert(varchar(10), @PageSize)
Set @sNP=Convert(varchar(10), (@PageNo-1)*@PageSize)
print('Select top '+@sN+' * From Titles ' +
'Where title_ID not in(Select top '+@sNP+' title_ID From Titles order by title_ID) order by title_ID')

Exec('Select top '+@sN+' * From Titles ' +
'Where title_ID not in(Select top '+@sNP+' title_ID From Titles order by title_ID) order by title_ID')
GO


新建的群(C#):23384106 验证注明
2006-11-08 08:40
小海龟
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1068
专家分:4
注 册:2006-8-1
收藏
得分:0 
2003?2005?

[bc09] 犯强汉者,虽远比诛!
2006-11-08 10:17
iceqier
Rank: 1
等 级:新手上路
威 望:1
帖 子:129
专家分:0
注 册:2006-1-22
收藏
得分:0 
我要.net2003 c#的分页代码

天天摸键盘,整天看代码。。。 E-mail : iceqier520@
2006-11-08 13:18
iceqier
Rank: 1
等 级:新手上路
威 望:1
帖 子:129
专家分:0
注 册:2006-1-22
收藏
得分:0 
怎么没人给我些分页代码呢?

天天摸键盘,整天看代码。。。 E-mail : iceqier520@
2006-11-09 23:01
betty
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2006-9-21
收藏
得分:0 


datagrid不是自带的马

我这有2005,C#,datalist得,从网上找的,不知道能不能对你有点帮助(http://phigo.blogchina.com/phigo/5548263.html


前台代码如下:


<TABLE id="Table1" style="Z-INDEX: 101; LEFT: 32px; WIDTH: 752px; POSITION: absolute; TOP: 16px; HEIGHT: 312px" cellSpacing="0" cellPadding="0" width="752" border="0">


<TR>


<TD style="HEIGHT: 29px"><FONT face="宋体">DataList分页技术和超级链接</FONT></TD>


</TR>


<TR>


<TD style="HEIGHT: 252px"><asp:datalist id="DataList1" runat="server" Width="576px"

Height="96px">


<HeaderTemplate>


定单编号<td>


员工编号<td>


定单日期<td>


运费<td>


运往所在城市


</HeaderTemplate>


<ItemTemplate>


<%# show(DataBinder.Eval(Container.DataItem,"OrderID"))%>


<td>

<%# DataBinder.Eval(Container.DataItem,"CustomerID")%>


<td>

<%# DataBinder.Eval(Container.DataItem,"OrderDate")%>


<td>


<%# DataBinder.Eval(Container.DataItem,"Freight")%>


<td>

<%# DataBinder.Eval(Container.DataItem,"ShipCity")%>


</ItemTemplate>


</asp:datalist></TD>


</TR>


<TR>


<TD><FONT face="宋体">

<asp:linkbutton id="FirstLB" runat="server" OnCommand="LinkButton_Click" CommandName="first">第一页</asp:linkbutton>&nbsp;


<asp:linkbutton id="PreviousLB" runat="server" OnCommand="LinkButton_Click" CommandName="prev">上一页</asp:linkbutton>&nbsp;

<asp:linkbutton id="NextLB" runat="server" OnCommand=LinkButton_Click


CommandName="next">下一页</asp:linkbutton>&nbsp;

<asp:linkbutton id="EndLB" runat="server" OnCommand=LinkButton_Click


CommandName="end">最后一页</asp:linkbutton>&nbsp;&nbsp;

总<asp:label id="TotalLbl" runat="server"></asp:label>页 当前第<asp:label id="CurrentLbl" runat="server"></asp:label>页


<asp:linkbutton id="JumpLB" runat="server" OnCommand=LinkButton_Click CommandName="jump">跳到</asp:linkbutton>第


<asp:textbox id="TextBox1" runat="server" Width="90px"></asp:textbox>


页</FONT></TD>


</TR>


</TABLE>

后台代码如下:

private void Page_Load(object sender, System.EventArgs e)


{


// 在此处放置用户代码以初始化页面


PageSize = 12;//每页12条记录


if(!Page.IsPostBack)


{


this.DataListBind();


CurrentPage = 0;//当前页习惯设为0


ViewState["PageIndex"] = 0;//页索引也设为0


//计算总共有多少记录


RecordCount = CalculateRecord();


//计算总共有多少页


PageCount = RecordCount/PageSize;


this.TotalLbl.Text = PageCount.ToString();//显示总页数


ViewState["PageCount"] = PageCount;//会话session 对整个 application 有效 ,而视图状态 viewstate相当于某个页面的 session


}


}






//计算总共有多少条记录


private int CalculateRecord()


{


try


{


int recordCount;


SqlConnection con=new SqlConnection("server=.;database=Northwind;uid=sa;pwd=");//数据库使用Northwind;


con.Open();


string sql= "select count(*) as count from Orders";


SqlCommand cmd = new SqlCommand(sql,con);


SqlDataReader sdr = cmd.ExecuteReader();


if(sdr.Read())


{


recordCount = Int32.Parse(sdr["count"].ToString());


}


else


{


recordCount = 0;


}


sdr.Close();


con.Close();


return recordCount;


}


catch(Exception ex)


{


throw new Exception(ex.Message);


}


}


//以第一列定单号做个超级链接,链接到第二页显示定单详细信息


public string show (object orderID)


{


return "<a href=WebForm2.aspx?id="+orderID+" target='_blank'>"+orderID+" </a>";


}


//将数据绑定到Datalist控件


public void DataListBind()


{


try


{



int StartIndex = CurrentPage*PageSize;//设定导入的起终地址


string sql = "select * from Orders";


DataSet ds = new DataSet();


SqlConnection con=new SqlConnection("server=.;database=Northwind;uid=sa;pwd=");


con.Open();


SqlDataAdapter sda= new SqlDataAdapter(sql,con);



sda.Fill(ds,StartIndex,PageSize,"orders");//这是sda.Fill方法的第一次重载,里面的变量分别是数据集DataSet ,开始记录数StartRecord,最大的记录数MaxRecord,数据表名TableName


this.DataList1.DataSource = ds.Tables["orders"].DefaultView;


this.DataList1.DataBind();


this.PreviousLB.Enabled = true;


this.NextLB.Enabled = true;


if(CurrentPage==(PageCount-1)) this.NextLB.Enabled = false;//当为最后一页时,下一页链接按钮不可用


if(CurrentPage==0) this.PreviousLB.Enabled = false;//当为第一页时,上一页按钮不可用


this.CurrentLbl.Text = (CurrentPage+1).ToString();//当前页数


}


catch(Exception ex)


{


throw new Exception(ex.Message);


}


}


public void LinkButton_Click(Object sender,CommandEventArgs e)//自己编写的按钮点击事件


{


CurrentPage = (int)ViewState["PageIndex"];//获得当前页索引


PageCount = (int)ViewState["PageCount"];//获得总页数


string cmd = e.CommandName;


//判断cmd,以判定翻页方向


switch(cmd)


{


case "prev"://上一页


if(CurrentPage>0) CurrentPage--;


break;


case "next":


if(CurrentPage<(PageCount-1)) CurrentPage++;//下一页


break;


case "first"://第一页


CurrentPage=0;


break;


case "end"://最后一页


CurrentPage=PageCount-1;


break;


case "jump"://跳转到第几页


if(this.TextBox1.Text.Trim()==""||Int64.Parse(this.TextBox1.Text.Trim())>PageCount)//如果输入数字为空或超出范围则返回


return;


else


{


CurrentPage=Int32.Parse(this.TextBox1.Text.ToString())-1;


break;


}



}


ViewState["PageIndex"] = CurrentPage;//获得当前页


this.DataListBind();//重新将DataList绑定到数据库


}


第二页用来显示详细的定单信息

用的控件是DataGird


代码如下:


private void Page_Load(object sender, System.EventArgs e)


{


// 在此处放置用户代码以初始化页面



string id=Request.QueryString["id"];


SqlConnection con=new SqlConnection("server=.;database=Northwind;uid=sa;pwd=");


con.Open();


SqlDataAdapter sda=new SqlDataAdapter();


sda.SelectCommand=new SqlCommand("select * from [Order Details] where OrderID='"+id+"'",con);


DataSet ds=new DataSet();


sda.Fill(ds,"orders");


this.DataGrid1.DataSource=ds.Tables["orders"].DefaultView;


this.DataGrid1.DataBind();


con.Close();



}



2006-11-11 13:39
betty
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2006-9-21
收藏
得分:0 

前几天找的,由于我正做的项目是用vb.net做的,所以按这个思路正在改呢


2006-11-11 13:41
沙僧
Rank: 1
等 级:新手上路
帖 子:160
专家分:0
注 册:2006-7-23
收藏
得分:0 

我是用第三方控件:aspnetpager.


我刚做的论坛:bbs.,欢迎大家光临!交友QQ:45094574.
2006-11-11 18:23
メ冰枫ぱ雪
Rank: 1
等 级:新手上路
威 望:2
帖 子:326
专家分:0
注 册:2004-11-13
收藏
得分:0 
我是 DataList 和存储过程写的,考虑效率问题!!

动态网页技术交流群:16449874 免费网络收藏夹:http:///Favorite
2006-11-12 18:33
guming
Rank: 4
等 级:业余侠客
威 望:5
帖 子:329
专家分:277
注 册:2006-11-9
收藏
得分:0 
DataGrid中有OnPageIndexChange事件,,,可在<script>...</script>中写该事件的处理代码就行了,不过,这种分页比较简单。。DataGrid自带的。代码如下:
public void PageIndexChanged(Object Sender,DataGridCommandEventArgs e)
{
datagrid.CurrentPageIndex=e.NewPageIndex;
databind();//自定义的邦定方法。
}

不想停留。。。
2006-12-04 15:41
快速回复:求助分页代码(要asp.net)
数据加载中...
 
   



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

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