ADO.NETDataList的分页功能

来源:互联网 发布:ubuntu重启图形界面 编辑:程序博客网 时间:2024/06/05 17:27

AllowCustomPaging获取或设置指示是否启用自定义分页的值。
AllowPaging
获取或设置指示是否启用分页的值。
Count
获取要从数据源使用的项数。
CurrentPageIndex
获取或设置当前页的索引。
DataSource
获取或设置数据源。
DataSourceCount
获取数据源中的项数。
FirstIndexInPage
获取页中的第一个索引。
IsCustomPagingEnabled
获取一个值,该值指示是否启用自定义分页。
IsFirstPage
获取一个值,该值指示当前页是否是首页。
IsLastPage
获取一个值,该值指示当前页是否是最后一页。
IsPagingEnabled
获取一个值,该值指示是否启用分页。
IsReadOnly
获取一个值,该值指示数据源是否是只读的。
IsSynchronized
获取一个值,该值指示是否同步对数据源的访问(线程安全)。
PageCount
获取显示数据源中的所有项所需要的总页数。
PageSize
获取或设置要在单页上显示的项数。
VirtualCount
获取或设置在使用自定义分页时数据源中的实际项数。

 

<div>

        <asp:DataListID="DataList1" runat="server" DataKeyField="bid">

            <ItemTemplate>

                <tablewidth="700" border="1" cellspacing="0"cellpadding="0" >

                  <tr>

                    <tdwidth="205" rowspan="2"><imgsrc='<%# Eval("bpho")%>'/></td>

                    <tdwidth="489"><%# Eval("bname")%></td>

                  </tr>

                  <tr>

                    <tdheight="117"><%# Eval("binfo")%>

                        <asp:ButtonID="Button1" runat="server" Text="删除"  CommandName="delete"/>

                        <asp:ButtonID="Button2" runat="server" Text="修改"CommandName="edit"/></td>

                  </tr>

                </table>

            </ItemTemplate>

        </asp:DataList></div>

        <div>

              <asp:LabelID="Label1" runat="server" Text="当前页:"></asp:Label>

              <asp:LabelID="Label2" runat="server" Text="1"Width="10px"></asp:Label>

              <asp:LabelID="Label3" runat="server" Text="总页数:"></asp:Label>

              <asp:LabelID="Label4" runat="server"></asp:Label>

              <asp:LinkButtonID="LinkButton1" runat="server" OnClick="LinkButton1_Click">首页</asp:LinkButton>

              <asp:LinkButtonID="LinkButton2" runat="server" OnClick="LinkButton2_Click">上一页</asp:LinkButton>

              <asp:LinkButtonID="LinkButton3" runat="server" OnClick="LinkButton3_Click">下一页</asp:LinkButton>

              <asp:LinkButtonID="LinkButton4" runat="server" OnClick="LinkButton4_Click">末页</asp:LinkButton>

        </div>

    </form>

 

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data;

using BLL;

 

namespace news

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if(!this.IsPostBack)

            {

                ShowNews();

            }

        }

        private void ShowNews()

        {

            DataTable ArtTable =new B_books().GetBooks(); ;

            if (ArtTable != null && ArtTable.Rows.Count > 0)

            {

                PagedDataSource pds =new PagedDataSource();

                pds.DataSource = ArtTable.DefaultView;

 

                pds.AllowPaging = true;

                pds.PageSize = 3;

                int currentIndex =Convert.ToInt32(this.Label2.Text) - 1;

                pds.CurrentPageIndex = currentIndex;

                this.Label4.Text = pds.PageCount.ToString();

 

                this.LinkButton1.Enabled =true;

                this.LinkButton2.Enabled =true;

                this.LinkButton3.Enabled =true;

                this.LinkButton4.Enabled =true;

                if (currentIndex == 0)

                {

                    this.LinkButton1.Enabled =false;

                    this.LinkButton2.Enabled =false;

                }

                if (currentIndex == pds.PageCount - 1)

                {

                    this.LinkButton3.Enabled =false;

                    this.LinkButton4.Enabled =false;

                }

               

                DataList1.DataSource = pds;

                DataList1.DataBind();

            }

            else

            {

                DataList1.DataSource = null;

                DataList1.DataBind();

            }

        }

        protected void LinkButton1_Click(object sender, EventArgs e)

        {

            this.Label2.Text = "1";

            ShowNews();

        }

        protected void LinkButton2_Click(object sender, EventArgs e)

        {

            int temp = Convert.ToInt32(this.Label2.Text) - 1;

            Label2.Text = temp.ToString();

            ShowNews();

        }

        protected void LinkButton3_Click(object sender, EventArgs e)

        {

            int temp = Convert.ToInt32(this.Label2.Text) + 1;

            Label2.Text = temp.ToString();

            ShowNews();

        }

        protected void LinkButton4_Click(object sender, EventArgs e)

        {

            this.Label2.Text = this.Label4.Text;

            ShowNews();

        }  

    }

}