| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
龙腾教程网  
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
 
  您当前位置:您现在的位置: 龙腾软件教程网 >> 文章中心 >> WEB设计 >> asp.net >> asp.net技巧 >> 文章正文>>>>>> 
ASP.NET2.0利用PagedDataSource类实现DataList和Repeater控件的分页显示功能
Asp.net提供了三个功能强大的列表控件:DataGrid、DataList和Repeater控件,相对DataGrid,DataList和Repeater控件具有更高的样式自定义性,很多时候我们喜欢使用DataList或Repeater控件来显示数据,但是Repeater和DataList没有分页功能,有时很不方便。
    PagedDataSource类封装了DataGrid控件的属性,从而使DataGrid控件可以执行分页,它就是一个数据的容器,我们先把数据从数据库中读取出来放在这个容器中,然后设置容器的属性取出当前要显示的页上的部分数据,然后将此部分数据再绑定到页面上的显示控件上。
    下面实例是Repeater控件和HyperLink控件结合PagedDataSource类实现的数据分页列表

数据功能实现源代码:
 //对用于分页的类的引用
PagedDataSource pds=new PagedDataSource();
pds.DataSource=dt.DefaultView;//设置数据源(DataTable类型)
pds.AllowPaging=true;
//第页显示的行数
pds.PageSize=18;

//设置当前页
if(Pageindex<1) Pageindex=1;
pds.CurrentPageIndex=Pageindex-1;

rpt_NewsList.DataSource=pds;
rpt_NewsList.DataBind();

//显示页码
ltl_RecordCount.Text = pds.DataSourceCount.ToString();
ltl_PageCount.Text = pds.PageCount.ToString();
ltl_Pageindex.Text = Pageindex.ToString();
ltl_Jump.Text = Jump_List (pds.PageCount , Pageindex , L_Manage);

//显示上下翻页(URL后面跟的参数自已跟据需要定义)
lbn_First.ToolTip = "跳转到首页";
lbn_First.NavigateUrl=Request.CurrentExecutionFilePath+"?Org_ID="+ L_Manage +"&page=1";
lbn_Prev.ToolTip = "跳转到上一页";
lbn_Prev.NavigateUrl=Request.CurrentExecutionFilePath+"?Org_ID="+ L_Manage +"&page="+(Pageindex-1);
lbn_Next.ToolTip = "跳转到下一页";
lbn_Next.NavigateUrl=Request.CurrentExecutionFilePath+"?Org_ID="+ L_Manage +"&page="+(Pageindex+1);
lbn_Last.ToolTip = "跳转到最后一页";
lbn_Last.NavigateUrl=Request.CurrentExecutionFilePath+"?Org_ID="+ L_Manage +"&page="+pds.PageCount.ToString();

//确定链接的显示方式
if(Pageindex<=1 && pds.PageCount<=1)
{
    lbn_First.NavigateUrl = "";
    lbn_Prev.NavigateUrl = "";
    lbn_Next.NavigateUrl = "";
    lbn_Last.NavigateUrl = "";
}
if(Pageindex<=1 && pds.PageCount>1)
{
    lbn_First.NavigateUrl = "";
    lbn_Prev.NavigateUrl = "";
}
if(Pageindex >= pds.PageCount)
{
    lbn_Next.NavigateUrl = "";
    lbn_Last.NavigateUrl = "";
}

/// <summary>
/// 计算分页跳转
/// </summary>
/// <param name="Pagecount">页面数</param>
/// <returns>string</returns>
private string Jump_List(int Pagecount , int Pageindex , long L_Manage)
{
StringBuilder sb = new StringBuilder ();
sb.Append ("<select id=\"Page_Jump\" name=\"Page_Jump\" onchange=\"window.location=’"+ Request.CurrentExecutionFilePath +"?page=’+ this.options[this.selectedIndex].value + ’&Org_ID="+ L_Manage +"’;\">");
for(int i = 1 ; i <= Pagecount ; i++)
{
if(Pageindex == i)
sb.Append ("<option value=’"+ i +"’ selected>"+ i +"</option>");
else
sb.Append ("<option value=’"+ i +"’>"+ i +"</option>");
}
sb.Append ("</select>");

return sb.ToString ();
}

上一篇:
  • 上一篇文章:
  • 下一篇
  • 下一篇文章: 没有了
  • 收藏此文到百度搜藏 百度搜藏| 新浪VIvi| 365key| Younote| 博采中心| 你好BLOG| 亿友网摘| 和讯网摘|
    相关文章    
    asp.net 实现flv视频格式转换的方法
    Asp.Net文件上传实现Flash进度条代码实例
    ASP.NET2.0制作中文验证码的方法
    asp.net2.0利用MySQL ODBC Driver-MyODBC 3
    asp.net2.0 gridview控件实现手动分页方法
    as.net连接MYSQL数据的方法
    ASP.NET 2.0 数据访问控件功能详解
    ASP.NET如何在窗体和窗体之间传送数据
    ASP.NET 2.0的URL映射的实现方法
    Asp.net中使用HtmlArea编辑器
     
     
     
    最新文章
    普通文章 ASP.NET2.0利用PagedDataSource类最新文章
    普通文章 Photoshop的曲线处理暗角打造时尚最新文章
    普通文章 Photoshop绘制水晶苹果最新文章
    普通文章 Photoshop制作 Zip icon简明图标最新文章
    普通文章 Photoshop绘制矢量人物眼睛的方法最新文章
    普通文章 Photoshop制作镶嵌在瓷砖上的美女最新文章
    普通文章 Excel 2007九大新功能最新文章
    普通文章 了解VISTA系统的NAP功能最新文章
    普通文章 Photoshop打造逼真的动物毛皮效果最新文章
    普通文章 让系统里的IE6和IE7和谐共存最新文章
     
    热门文章
    推荐文章 Oracle数据库配置中的常见错误代最新文章
    推荐文章 最新迅雷下载电骡资源技巧放送最新文章
     
     
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 

    版权所有2006-2008 龙腾教程网