[Transfer]DataList 自定义分页 (C#)

Source:

http://www.cnblogs.com/youxia/archive/2006/08/14/476815.html
http://www.net0791.com/article/100997.htm
http://www.xker.com/Html/bcyy/net/2006_04_03_07_886_5.html


None.gif
None.gif
<%  @ Page Language = " C# "   %>  
None.gif
<%  @ Import Namespace = " System.Data "   %>  
None.gif
<%  @ Import Namespace = " System.Data.OleDb "   %>  
None.gif
< Script Language = " C# "  Runat = " Server " >  
ExpandedBlockStart.gifContractedBlock.gif
/**/ /* 
InBlock.gifCreate By 飞刀 
InBlock.gif
http://www.aspcn.com 
InBlock.gif2001-7-25 01:44 
InBlock.gif
InBlock.gifSupport .Net Framework Beta 2 
ExpandedBlockEnd.gif
*/
 
None.gifOleDbConnection MyConn; 
None.gif
int  PageSize,RecordCount,PageCount,CurrentPage; 
None.gif
public   void  Page_Load(Object src,EventArgs e) 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif
//设定PageSize 
InBlock.gif
PageSize = 10
InBlock.gif
InBlock.gif
//连接语句 
InBlock.gif
string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"..\\DataBase\\db1.mdb;"
InBlock.gifMyConn 
= new OleDbConnection(MyConnString); 
InBlock.gifMyConn.Open(); 
InBlock.gif
InBlock.gif
//第一次请求执行 
InBlock.gif
if(!Page.IsPostBack) 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifListBind(); 
InBlock.gifCurrentPage 
= 0
InBlock.gifViewState[
"PageIndex"= 0
InBlock.gif
InBlock.gif
//计算总共有多少记录 
InBlock.gif
RecordCount = CalculateRecord(); 
InBlock.giflblRecordCount.Text 
= RecordCount.ToString(); 
InBlock.gif
InBlock.gif
//计算总共有多少页 
InBlock.gif
PageCount = RecordCount/PageSize; 
InBlock.giflblPageCount.Text 
= PageCount.ToString(); 
InBlock.gifViewState[
"PageCount"= PageCount; 
ExpandedSubBlockEnd.gif}
 
ExpandedBlockEnd.gif}
 
None.gif
// 计算总共有多少条记录 
None.gif
public   int  CalculateRecord() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif
int intCount; 
InBlock.gif
string strCount = "select count(*) as co from Score"
InBlock.gifOleDbCommand MyComm 
= new OleDbCommand(strCount,MyConn); 
InBlock.gifOleDbDataReader dr 
= MyComm.ExecuteReader(); 
InBlock.gif
if(dr.Read()) 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifintCount 
= Int32.Parse(dr["co"].ToString()); 
ExpandedSubBlockEnd.gif}
 
InBlock.gif
else 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gifintCount 
= 0
ExpandedSubBlockEnd.gif}
 
InBlock.gifdr.Close(); 
InBlock.gif
return intCount; 
ExpandedBlockEnd.gif}
 
None.gif
None.gifICollection CreateSource() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gif
InBlock.gif
int StartIndex; 
InBlock.gif
InBlock.gif
//设定导入的起终地址 
InBlock.gif
StartIndex = CurrentPage*PageSize; 
InBlock.gif
string strSel = "select * from Score"
InBlock.gifDataSet ds 
= new DataSet(); 
InBlock.gif
InBlock.gifOleDbDataAdapter MyAdapter 
= new OleDbDataAdapter(strSel,MyConn); 
InBlock.gifMyAdapter.Fill(ds,StartIndex,PageSize,
"Score"); 
InBlock.gif
InBlock.gif
return ds.Tables["Score"].DefaultView; 
ExpandedBlockEnd.gif}
 
None.gif
public   void  ListBind() 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gifscore.DataSource 
= CreateSource(); 
InBlock.gifscore.DataBind(); 
InBlock.gif
InBlock.giflbnNextPage.Enabled 
= true
InBlock.giflbnPrevPage.Enabled 
= true
InBlock.gif
if(CurrentPage==(PageCount-1)) lbnNextPage.Enabled = false
InBlock.gif
if(CurrentPage==0) lbnPrevPage.Enabled = false
InBlock.giflblCurrentPage.Text 
= (CurrentPage+1).ToString(); 
InBlock.gif
ExpandedBlockEnd.gif}
 
None.gif
None.gif
public   void  Page_OnClick(Object sender,CommandEventArgs e) 
ExpandedBlockStart.gifContractedBlock.gif
dot.gif
InBlock.gifCurrentPage 
= (int)ViewState["PageIndex"]; 
InBlock.gifPageCount 
= (int)ViewState["PageCount"]; 
InBlock.gif
InBlock.gif
string cmd = e.CommandName; 
InBlock.gif
//判断cmd,以判定翻页方向 
InBlock.gif
switch(cmd) 
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif
InBlock.gif
case "next"
InBlock.gif
if(CurrentPage<(PageCount-1)) CurrentPage++
InBlock.gif
break
InBlock.gif
case "prev"
InBlock.gif
if(CurrentPage>0) CurrentPage--
InBlock.gif
break
ExpandedSubBlockEnd.gif}
 
InBlock.gif
InBlock.gifViewState[
"PageIndex"= CurrentPage; 
InBlock.gif
InBlock.gifListBind(); 
InBlock.gif
ExpandedBlockEnd.gif}
 
None.gif
</ script >  
None.gif
< html >  
None.gif
< head >  
None.gif
< title ></ title >  
None.gif
</ head >  
None.gif
< body >  
None.gif
< form runat = " server " >  
None.gif共有
< asp:Label id = " lblRecordCount "  ForeColor = " red "  runat = " server "   /> 条记录  
None.gif当前为
< asp:Label id = " lblCurrentPage "  ForeColor = " red "  runat = " server "   />/< asp:Label id = " lblPageCount "  ForeColor = " red "  runat = " server "   /> 页  
None.gif
None.gif
< asp:DataList id = " score "  runat = " server "  
None.gifHeaderStyle
- BackColor = " #aaaadd "  
None.gifAlternatingItemStyle
- BackColor = " Gainsboro "  
None.gifEditItemStyle
- BackColor = " yellow "  
None.gif
>  
None.gif
< ItemTemplate >  
None.gif姓名:
<% # DataBinder.Eval(Container.DataItem, " Name " %>  
None.gif
< asp:LinkButton id = " btnSelect "  Text = " 编辑 "  CommandName = " edit "  runat = " server "   />  
None.gif
</ ItemTemplate >  
None.gif
</ asp:DataList >  
None.gif
< asp:LinkButton id = " lbnPrevPage "  Text = " 上一页 "  CommandName = " prev "  OnCommand = " Page_OnClick "  runat = " server "   />  
None.gif
< asp:LinkButton id = " lbnNextPage "  Text = " 下一页 "  CommandName = " next "  OnCommand = " Page_OnClick "  runat = " server "   />  
None.gif
None.gif
</ form >  
None.gif
</ body >  
None.gif
</ html >

转载于:https://www.cnblogs.com/apiapia/archive/2007/02/24/655145.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值