编程词典
明日图书
明日软件
用户注册
用户登录
站内
  当前位置:编程词典服务网 >> 编程词典社区论坛 >> 数据绑定控件中实现自定...
  · 数据绑定控件中实现自定义分页功能

用户:  明日科技
发帖:  417 篇
作品:  1 个
回复:  2 篇
技术分:  805 分
等级:  
注册:  2009-09-07 06:37:23



发表于:2010-06-10 13:24:42
          楼主

数据绑定控件中实现自定义分页功能

   .net中,对于分页功能其实现过程并不是很复杂,例如对于数据表格控件GridView控件可以应用其自带的分页功能,也可以自定义一个分页功能。如下图就是创建的一个自定义分页功能,并同时实现了跳转指定页面的功能。



1)实现自定义分页,如第一页、上一页、下一页和最后页这样的功能的主要代码如下:

PagedDataSource ObjectPage = new PagedDataSource();//创建分页类

 ObjectPage.DataSource = ds.Tables["Table"].DefaultView;//设置数据源

 ObjectPage.AllowPaging = true;//设置分页

 ObjectPage.PageSize = 4;

 if (Request.QueryString["Page"] != null)

 {

     DangQianPage = Convert.ToInt32(Request.QueryString["Page"]);

     DangQianPage = Math.Min(DangQianPage, ObjectPage.PageCount);

     DangQianPage = Math.Max(DangQianPage, 1);

 }

 else

 {

     DangQianPage = 1;

 }

 ObjectPage.CurrentPageIndex = DangQianPage - 1;//取得当前页码

 ZhongPage = ObjectPage.PageCount;

 MRNum = ObjectPage.DataSourceCount;

 MeiYiPage = ObjectPage.Count;

 lblCurPage.Text = "" + DangQianPage.ToString() + "/" + ZhongPage.ToString() + "";

 lblTnum.Text = "共:" + MRNum.ToString() + "条记录";

 lblEachPage.Text = "每页有: " + MeiYiPage.ToString() + " 条记录";

 if (ObjectPage.CurrentPageIndex != 0)

                lnkFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?categoryid=" + strID + "&Page=" + Convert.ToString(1);

            if (ObjectPage.CurrentPageIndex != ZhongPage - 1)

                lnkLast.NavigateUrl = Request.CurrentExecutionFilePath + "?categoryid=" + strID + "&Page=" + Convert.ToString(ZhongPage);

            if (!ObjectPage.IsFirstPage)

                lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?categoryid=" + strID + "&Page=" + Convert.ToString(DangQianPage - 1);

            if (!ObjectPage.IsLastPage)

                lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?categoryid=" + strID + "&Page=" + Convert.ToString(DangQianPage + 1);

GridView1.DataSource = ObjectPage;

GridView1.DataBind();

2)实现跳转指定页的“GO”按钮事件代码如下:

protected void btnPage_Click(object sender, EventArgs e)

{

    int MyPageNum = 0;

    string strID = "0";

    if (!txtPage.Text.Equals(""))

        MyPageNum = Convert.ToInt32(Request.Form["txtPage"]);

    if (MyPageNum <= 0 || MyPageNum > ZhongPage)

        Response.Redirect(Request.CurrentExecutionFilePath + "?categoryid=" + strID + "&Page=" + Convert.ToString(1));

    else

        Response.Redirect(Request.CurrentExecutionFilePath + "?categoryid=" + strID + "&Page=" + Convert.ToString(MyPageNum));

}

   说明:可以将上述方法封装在一个类文件中,以便更加方便地调用。

 

本帖赏分:0 分   回复数:0 篇     
修改   删除   引用   回复
该帖暂无回复!
吉林省明日科技有限公司提供技术支持. 
Copyright © 1999-2008 吉林省明日科技有限公司. 吉ICP备10002740
当前时区 GMT+8, 今天是 
刷新页面 - 关于我们 - 设为首页