PagedDataSource的分页

int PageSize, RecordCount, PageCount, CurrentPage; //定义页面条数、记录总数、页面总 数、当前页面

 

if (!IsPostBack)

 {


            DataTable dt = new FCD_DownLoadTool().GetTableDownLoadTool();  //定义一个DataTable接受你要的数据

            PagedDataSource objPds = new PagedDataSource();    //实例化PagedDataSource

            objPds.AllowPaging = true;   //启动分页属性
            objPds.PageSize = 10;         //每页显示10条
            objPds.DataSource = dt.DefaultView;       //将你获取到的数据表装入PagedDataSource
           
            int CurPage;    //定义页码
            if (Request.QueryString["Page"] != null)
                CurPage = Convert.ToInt32(RequeryString["Page"]);   //如果点按钮(上一页、下一页)传递值不为空则绑定页
            else
                CurPage = 1;   为空则为第一页

            objPds.CurrentPageIndex = CurPage - 1;    //PagedDataSource 页索引从0开始,所以显示的数据页为当前页码-1
           

            if (!objPds.IsFirstPage)  //如果提交的不是第一页
             {
                HyperLink1.Visible = true;   //上一页按钮显示
                //上一页导航传递值-1
                HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
            }
            else
            {
                HyperLink1.Visible = false;  //上一页按钮不显示

            }

            if (!objPds.IsLastPage)   //如果提交的不是最后一页
            {
                HyperLink2.Visible = true;   //下一页不显示
                HyperLink2.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString (CurPage + 1);
            }
            else
            {
                HyperLink2.Visible = false;
            }
            DataList1.DataSource = objPds;   //DataList数据绑定
            DataList1.DataBind();

            RecordCount = objPds.DataSourceCount;      //统计记录条数
            Label1.Text = RecordCount.ToString();
            Label2.Text = objPds.PageCount.ToString();    //统计页面数
            this.Label3.Text = CurPage.ToString();   //显示当前页
        }

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个基于ASP.NET的使用DataList控件,并且借助PagedDataSource类实现分页查询学生信息的示例代码: 1. 首先,我们需要创建一个学生信息表的数据库。以下是一个示例的创建代码: ```sql CREATE TABLE Students ( Id INT PRIMARY KEY, Name VARCHAR(50), Age INT, Gender VARCHAR(10), Major VARCHAR(50) ); ``` 2. 然后,我们需要在ASP.NET的页面中添加一个DataList控件,用来显示学生信息。以下是一个示例的DataList控件代码: ```html <asp:DataList ID="dlStudents" runat="server" RepeatLayout="Table" RepeatColumns="5"> <ItemTemplate> <tr> <td><%#Eval("Id")%></td> <td><%#Eval("Name")%></td> <td><%#Eval("Age")%></td> <td><%#Eval("Gender")%></td> <td><%#Eval("Major")%></td> </tr> </ItemTemplate> </asp:DataList> ``` 3. 接下来,我们需要在页面的代码后台中,编写查询学生信息并进行分页的代码。以下是示例的后台代码: ```csharp protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindData(); } } private void BindData() { // 查询所有学生信息 string connectionString = "Data Source=.;Initial Catalog=MyDatabase;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand("SELECT * FROM Students", connection); SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable table = new DataTable(); adapter.Fill(table); // 分页查询学生信息 PagedDataSource pds = new PagedDataSource(); pds.DataSource = table.DefaultView; pds.AllowPaging = true; pds.PageSize = 10; int currentPage = 0; if (Request.QueryString["page"] != null) { currentPage = int.Parse(Request.QueryString["page"]); } else { currentPage = 1; } pds.CurrentPageIndex = currentPage - 1; dlStudents.DataSource = pds; dlStudents.DataBind(); // 显示分页导航 int pageCount = pds.PageCount; for (int i = 1; i <= pageCount; i++) { HyperLink link = new HyperLink(); link.Text = i.ToString(); link.NavigateUrl = "Default.aspx?page=" + i.ToString(); if (i == currentPage) { link.Font.Bold = true; } Panel1.Controls.Add(link); Panel1.Controls.Add(new LiteralControl(" ")); } } } ``` 在这段代码中,我们首先查询所有的学生信息,并将其保存在一个DataTable中。然后,我们使用PagedDataSource类对DataTable进行分页,并将分页后的结果绑定到DataList控件上。最后,我们根据分页的结果,生成分页导航的HTML代码,并添加到页面上。 这就是一个基于ASP.NET的使用DataList控件,并且借助PagedDataSource类实现分页查询学生信息的示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值