ASP.NET Data Listデータをバインドしてページングを実現

5966 ワード

      
Label
    
ID NowPageNumberLab
text    1
×××××××××××××××××××××××××××××××××××××××××××
     
Label
    
ID BackPageNumberLab
text    ""
×××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
     
ID  LnkBtnOne
text      
××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
     
ID  LnkBtnUp
text     
××××××××××××××××××××××××××××××××××××××××××××××
LinkButton
     
ID  LnkBtnNext
text     
×××××××××××××××××××××××××××××××××××××××××××××
LinkButton
     
ID  LnkBtnBack
text      
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
<asp:DataList ID="DataList1" 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:DataList>
    :[<asp:Label ID="NowPageNumberLab" runat="server" Text="1"></asp:Label>]
   :[<asp:Label ID="BackPageNumberLab" 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();
        PagedDataSource ps = new PagedDataSource();
        int curpage=Convert.ToInt32(NowPageNumberLab.Text);
        NetDSet.NB_IntroduceDataTable table = nb.GetNBTable();
        ps.DataSource =table.DefaultView;
        ps.AllowPaging = true;//      
        ps.PageSize = 2;//      
        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;//         
        }
        BackPageNumberLab.Text = Convert.ToString(ps.PageCount);//     
        DataList1.DataSource =ps;//DataList     
        DataList1.DataBind();//      
    }
    /// <summary>
    ///      
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void LnkBtnOne_Click(object sender, EventArgs e)
    {
        NowPageNumberLab.Text = "1";
        Pagination();
    }
    /// <summary>
    ///      
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void LnkBtnUp_Click(object sender, EventArgs e)
    {
        NowPageNumberLab.Text=Convert.ToString(Convert.ToUInt32(NowPageNumberLab.Text)-1);
        Pagination();
    }
    /// <summary>
    ///      
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void LnkBtnNext_Click(object sender, EventArgs e)
    {
        NowPageNumberLab.Text = Convert.ToString(Convert.ToInt32(NowPageNumberLab.Text) + 1);
        Pagination();
    }
    /// <summary>
    ///       
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void LnkBtnBack_Click(object sender, EventArgs e)
    {
        NowPageNumberLab.Text = BackPageNumberLab.Text;
        Pagination();
    }