ASP.NET Repeaterデータをバインドし、ページングを実現

5337 ワード

      
Label
    
ID LabNowPageNumber
text    1
×××××××××××××××××××××××××××××××××××××××××××
     
Label
    
ID LabAllPageNumber
text    ""
×××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
     
ID  LnkBtnOne
text      
××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
     
ID  LnkBtnUp
text     
××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
     
ID  LnkBtnNext
text     
×××××××××××××××××××××××××××××××××××××××××××××
LinkButton
     
ID  LnkBtnBack
text      
*****************************************************************************
*****************************************************************************
<asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
            <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td><%# Eval("NBID") %></td>
                    <td><%# Eval("ADID") %></td>
                    <td><%# Eval("NBName") %></td>
                    <td><%# Eval("NBAdr") %></td>
                    <td><%# Eval("NBTel") %></td>
                    <td><%# Eval("NBNumber") %></td>
                    <td><%# Eval("NBYears") %></td>
                    <td><%# Eval("UserName") %></td>
                    <td><%# Eval("Password") %></td>
                    <td></td>
                    <td></td>
                </tr>
            </table>
            </ItemTemplate>
        </asp:Repeater>
    
    </div>
        <br />
    :<asp:Label ID="LabNowPageNumber" runat="server">1</asp:Label>
   :<asp:Label ID="LabAllPageNumber" runat="server"></asp:Label>
<asp:LinkButton ID="LnkBtnOne" runat="server" OnClick="LnkBtnOne_Click">   </asp:LinkButton>
<asp:LinkButton ID="LnkBtnUp" runat="server" OnClick="LnkBtnUp_Click">   </asp:LinkButton>
<asp:LinkButton ID="LnkBtnNext" runat="server" OnClick="LnkBtnNext_Click">   </asp:LinkButton>
<asp:LinkButton ID="LnkBtnBack" runat="server" OnClick="LnkBtnBack_Click">    </asp:LinkButton>
********************************************************************************
********************************************************************************
protected void Page_Load(object sender, EventArgs e)
    {
        //          
        if (!IsPostBack)
        {
            Pagination();
        }
    }
    /// <summary>
    ///   
    /// </summary>
    public void Pagination()
    {
        NBClass nb = new NBClass();
        NBDSet.NB_IntroduceDataTable table = nb.GetNBTable();
        PagedDataSource ps = new PagedDataSource();
        ps.DataSource = table.DefaultView;
        ps.AllowPaging = true;//      
        ps.PageSize = 2;//    
        int curpage=Convert .ToInt32(LabNowPageNumber.Text);//        
        ps.CurrentPageIndex = curpage - 1;
        LnkBtnOne.Enabled = true;
        LnkBtnUp.Enabled = true;
        LnkBtnNext.Enabled = true;
        LnkBtnBack.Enabled = true;
        if (ps.IsFirstPage)//      
        {
            LnkBtnOne.Enabled = false;//        
            LnkBtnUp.Enabled = false;//        
        }
        if (ps.IsLastPage)//       
        {
            LnkBtnNext.Enabled = false;//        
            LnkBtnBack.Enabled = false;//         
        }
        LabAllPageNumber.Text = Convert.ToString(ps.PageCount);//     
        Repeater1.DataSource = ps;// Repeater   
        Repeater1.DataBind();//     
    }
    
    //       
    protected void LnkBtnOne_Click(object sender, EventArgs e)
    {
        LabNowPageNumber.Text = "1";
        Pagination();
    }
    //       
    protected void LnkBtnUp_Click(object sender, EventArgs e)
    {
        LabNowPageNumber.Text = Convert.ToString(Convert.ToInt32(LabNowPageNumber.Text) - 1);
        Pagination();
    }
    //       
    protected void LnkBtnNext_Click(object sender, EventArgs e)
    {
        LabNowPageNumber.Text = Convert.ToString(Convert.ToInt32(LabNowPageNumber.Text) + 1);
        Pagination();
    }
    //        
    protected void LnkBtnBack_Click(object sender, EventArgs e)
    {
        LabNowPageNumber.Text = LabAllPageNumber.Text;
        Pagination();
    }