Datalist 分页

一、概要说明

总共有三个方法,分别为:

1)初始化导航 InitializeNavigaion()

2)导航页面 NavigatePage()

3)绑定数据DataBind()

以及一个共用的事件 Click(object sender, CommandEventArgs e)

二、具体代码如下

     2.1前后部分

 

< div align = " center "  style = " width:100% " >
        
< table background = " ../images/webuse/jfright2.gif "  border = " 0 "  cellpadding = " 0 "  cellspacing = " 0 "
            width
= " 570 " >
            
< tr >
                
< td style = " height: 9px " >
                    
< img height = " 9 "  src = " ../images/webuse/jfright1.gif "  width = " 569 "   /></ td >
            
</ tr >
            
< tr >
                
< td height = " 9 " >
                    
< asp:DataList ID = " DataList1 "  runat = " server "  RepeatColumns = " 3 "  RepeatDirection = " Horizontal "
                        Width
= " 100% " >
                        
< ItemTemplate >
                            
< table border = " 0 "  cellpadding = " 0 "  cellspacing = " 0 "   class = " gray "  width = " 160 " >
                                
< tr >
                                    
< td height = " 110 "  width = " 168 " >
                                        
< img border = " 0 "  height = " 92 "  src = ' ../images/Category/<%# DataBinder.Eval(Container.DataItem,"Ppicture") %> '
                                            width
= " 144 "   />
                                    
</ td >
                                
</ tr >
                                
< tr >
                                    
< td >
                                        
< table border = " 0 "  cellpadding = " 0 "  cellspacing = " 0 "   class = " main12 "  width = " 168 " >
                                            
< tr >
                                                
< td  class = " black12blod "  height = " 25 "  width = " 168 " >
                                                    
< div align = " center " >
                                                        
< class = " ml "  href = " # "  target = " _blank " >< span style = " color: #0000ff; text-decoration: underline " >
                                                            
<% #DataBinder.Eval(Container.DataItem,  " Pname " ) %>
                                                        
</ span ></ a >
                                                    
</ div >
                                                
</ td >
                                            
</ tr >
                                            
< tr >
                                                
< td align = " right "  height = " 35 " >
                                                    
< div align = " center " >
                                                        
< a href = " # "  target = " _blank " >
                                                            
< img border = " 0 "  height = " 17 "  src = " ../images/webuse/jpkh.gif "  width = " 62 "   /></ a ></ div >
                                                
</ td >
                                            
</ tr >
                                        
</ table >
                                    
</ td >
                                
</ tr >
                            
</ table >
                        
</ ItemTemplate >
                    
</ asp:DataList >< br  />
                    
< br  />
                    
< br  />
                    
< br  />
                    
< img height = " 9 "  src = " ../images/webuse/jfright3.gif "  width = " 569 "   /></ td >
            
</ tr >
        
</ table >
        
< table border = " 0 "  cellpadding = " 0 "  cellspacing = " 0 "   class = " main12 "  height = " 50 "  width = " 570 " >
            
< tr >
                
< td >
                    
< div align = " right " >
                        当前页:
< asp:Literal ID = " lt_current_page "  runat = " server " ></ asp:Literal >& nbsp;
                        
< asp:Literal ID = " lt_record "  runat = " server " ></ asp:Literal >/ & nbsp; 总页数
                        
< asp:Literal ID = " lt_sum_record "  runat = " server " ></ asp:Literal >& nbsp; </ div >
                
</ td >
            
</ tr >
            
< tr >
                
< td align = " right " >
                    
< asp:ImageButton ID = " btn_first "  runat = " server "  CommandName = " first "  ImageUrl = " ../images/webuse/bunext.gif "
                        OnCommand
= " Click "   />& nbsp; < asp:ImageButton ID = " btn_before "  runat = " server "  CommandName = " before "
                            ImageUrl
= " ../images/webuse/bunext.gif "  OnCommand = " Click "   />& nbsp; < asp:ImageButton
                                ID
= " btn_next "  runat = " server "  CommandName = " next "  ImageUrl = " ../images/webuse/bunext.gif "
                                OnCommand
= " Click "   />& nbsp; < asp:ImageButton ID = " btn_last "  runat = " server "  CommandName = " last "
                                    ImageUrl
= " ../images/webuse/bunext.gif "  OnCommand = " Click "   />
                    到第
< asp:DropDownList ID = " ddl_page "  runat = " server "  Width = " 51px " >
                    
</ asp:DropDownList >
                    
< asp:ImageButton ID = " btn_navigation "  runat = " server "  CommandName = " navigation "  ImageUrl = " ../images/webuse/buok.gif "
                        OnCommand
= " Click "   /></ td >
            
</ tr >
        
</ table >
    
</ div >

 

     2.2后台部分

 

 

     protected   void  Page_Load( object  sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            ViewState[
"Record"= 6;//定义一页显示的数据个数
            InitializeNavigaion();
            NavigatePage(
1);
        }

    }


    
// 初始化导航
     private   void  InitializeNavigaion()
    
{

        
this.ddl_page.Items.Clear();//清除页数列框
        int sumRecord = //获取总页数
        if ((int)ViewState["Record"> sumRecord)
        
{
            
int pageCount = (sumRecord / (int)ViewState["Record"]) + 1;//计算页数
            for (int i = 1; i <= pageCount; i++)//绑定导航游的页数
            {
                
this.ddl_page.Items.Add(i.ToString());
            }

        }

        
else
        
{
            
this.ddl_page.Items.Add("1");
        }

        
this.ddl_page.DataBind();
        
this.lt_record.Text = ViewState["Record"].ToString();
        
this.lt_sum_record.Text = "<strong>" + sumRecord.ToString() + "</strong>";//总个数
        this.lt_current_page.Text = this.ddl_page.SelectedValue + "/" + this.ddl_page.Items.Count;//当前页
    }


    
// 导航页面
     private   void  NavigatePage( int  page)
    
{
        
this.ddl_page.ClearSelection();
        
this.ddl_page.Items.FindByValue(page.ToString()).Selected = true;
        
this.lt_current_page.Text = this.ddl_page.SelectedValue + "/" + this.ddl_page.Items.Count;

        DataBind(page);
    }

    
// 绑定数据
     private   void  DataBind( int  curPage)
    
{
        PagedDataSource objPds 
= new PagedDataSource();
        objPds.DataSource 
= //获取数据(需返回DefaultView)
        objPds.AllowPaging = true;
        objPds.PageSize 
= (int)ViewState["Record"];
        objPds.CurrentPageIndex 
= curPage - 1;
        DataList1.DataSource 
= objPds;
        DataList1.DataBind();
    }


    
// 页面跳转
     protected   void  Click( object  sender, CommandEventArgs e)
    
{
        
switch (e.CommandName)
        
{
            
case "first":
                ViewState[
"pageindex"= 1;
                
break;
            
case "before":
                
if ((int)ViewState["pageindex"!= 1)
                
{
                    ViewState[
"pageindex"= (int)ViewState["pageindex"- 1;
                }

                
break;
            
case "next":
                
if ((int)ViewState["pageindex"!= this.ddl_page.Items.Count)
                
{
                    ViewState[
"pageindex"= (int)ViewState["pageindex"+ 1;
                }

                
break;
            
case "last":
                ViewState[
"pageindex"= this.ddl_page.Items.Count;
                
break;
            
case "navigation":
                ViewState[
"pageindex"= int.Parse(this.ddl_page.SelectedValue);
                
break;
        }


        NavigatePage((
int)ViewState["pageindex"]);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值