Studio for ASP.NET Wijmo 控件值得称赞的一点是它不仅仅单独为 C1 控件而开发。还可以配合其他控件使用,也正体现了C1控件为提高开发人员工作效率而设计的宗旨。简单的举一个例子,例如 C1Pager 就可以和 DataList 配合使用实现分页功能。

先上效果图:

 

实现方法:

首先,我们需要设置 DataList 的数据源,在这个例子中我们使用OleDb 数据源创建DataSet。实现这个功能比较重要的一点是一旦生成数据源,我们需要把它同时赋值给C1Pager PagedDataSource  类。需要为每个页面设置页码。以下为实现代码:

  1: OleDbDataAdapter dadapter;
  2: DataSet dset;
  3: PagedDataSource adsource;
  4: string connstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data/NWIND.mdb") + ";Persist Security Info=False";
  5: int pos;
  6: int pageCount = 0;
  7:   
  8: protected void Page_Load(object sender, EventArgs e)
  9: {
 10:    if (!IsPostBack)
 11:    {
 12:       this.ViewState["vs"] = 0;
 13:    }
 14:    pos = (int)this.ViewState["vs"];
 15:    DataBind();
 16:    C1Pager1.PageCount = pageCount;
 17:    C1Pager1.Mode = C1.Web.Wijmo.Controls.C1Pager.PagerMode.Numeric;
 18: }

 

以下是 DataBind 方法的实现代码:

  1: public void DataBind()
  2: {
  3:    dadapter = new OleDbDataAdapter("SELECT TOP 20 CompanyName, City, Country FROM Customers", connstring);
  4:    dset = new DataSet();
  5:    adsource = new PagedDataSource();
  6:    dadapter.Fill(dset);
  7:    adsource.DataSource = dset.Tables[0].DefaultView;
  8:    adsource.PageSize = 5;
  9:    adsource.AllowPaging = true;
 10:    adsource.CurrentPageIndex = pos;
 11:    DataList1.DataSource = adsource;
 12:    DataList1.DataBind();
 13:    pageCount = Convert.ToInt32(dset.Tables[0].Rows.Count / adsource.PageSize);
 14: }

 

接下来需要通过 C1Pager 的点击实现为 DataList 切换数据,实现分页效果:

  1: protected void C1Pager1_PageIndexChanged(object sender, EventArgs e)
  2: {
  3:    int currPage = C1Pager1.PageIndex;
  4:    pos = (int)this.ViewState["vs"];
  5:    pos += currPage;
  6:    this.ViewState["vs"] = pos;
  7:    DataBind();
  8:    pos = 0;
  9:    this.ViewState["vs"] = 0;
 10: }

 

好了,通过以上步骤我们就结合 C1Pager 和 DataList 实现了完美的真分页。每次点击C1Pager页码时都会回调后台的DataBind方法来刷新DataList的数据。以下是示例,赶快下载体验吧:

VS2010+Framework 4.0 + C# 点击下载

VS2010+Framework 4.0 + VB.NET 点击下载

下载 Stduio for ASP.NET Wijmo 产品请进入:

http://www.gcpowertools.com.cn/products/componentone_studio_asp.htm

Studio for ASP.NET Wijmo:使用 C1Pager 对 DataList 控件分页的更多相关文章

  1. 《ASP.NET1200例》嵌套在DataLisT控件中的其他服务器控件---DropDownList控件的数据绑定

    aspx <script type="text/javascript"> function CheckAll(Obj) { var AllObj = document. ...

  2. Asp.Net MVC4入门指南(10):第三方控件Studio for ASP.NET Wijmo MVC4 工具应用

    ComponentOne Studio for ASP.NET Wijmo最新版本2013V1支持MVC4,其中包括: 新增 MVC 4 工程模板 (C# & VB) 开箱即用的MVC 4 工 ...

  3. 028. asp.net数据绑定控件值DataList控件

    DataList控件可以使用模板与定义样式来显示数据并进行数据的选择, 删除及编辑工作. DataList控件的最大特点是一定要通过模板来定义数据的显示格式. 如果要设计出美观的界面, 就需要花费一番 ...

  4. asp.net中遍历界面上所有控件进行属性设置

    * 使用方法: *  前台页面调用方法,重置:    protected void Reset_Click(object sender, EventArgs e)        {           ...

  5. asp.net学习之DataList控件

    asp.net学习之DataList控件   DataList控件与Repeater控件一样由模板驱动,与Repeater控件不同的是: DataList控件默认输出是一个HTML表格.DataLis ...

  6. Asp.Net2.0下C#环境 Login控件实现用户登录

    原文:Asp.Net2.0下C#环境 Login控件实现用户登录 一.前台显示效果 二.前台代码             <asp:Login ID="Login1" run ...

  7. asp.net动态加载ascx用户控件

    原文:asp.net动态加载ascx用户控件 在主aspx/ascx文件中,将目标ascx1,ascx2控件拖拉到其页面中,然后删除,目的是要生成:Register 代码,然后在主文件中定义DIV或T ...

  8. 在ASP.NET MVC 中使用ActiveReports报表控件

    随着MVC模式的广泛运用,对Web应用系统的开发带来了巨大的影响,我们好像又回到了原来的ASP时代,视乎这是一种后退而不是一种进步,不过MVC模式给我们带来的影响不仅限于我们所看到的这一点..MVC看 ...

  9. asp.net中的时间日期选择控件

    asp.net中的时间日期选择控件 Posted on 2008-07-17 17:37 飛雪飄寒 阅读(22922) 评论(6) 编辑 收藏     在系统中经常需要进行时间日期选择(比如查询时间范 ...

随机推荐

  1. XSHELL配色方案及导入配色方案的方法

    [ubuntu] text(bold)=ffffff magenta(bold)=ad7fa8 text=ffffff white(bold)=eeeeec green=4e9a06 red(bold ...

  2. 解决yum错误:Cannot retrieve repository metadata (repomd.xml) for repository

    解决方法如下: # cd /etc/ #ls 找到yum.repos.d这个目录,里面有个文件CentOS-Media.repo(你的机器里也许不是这个名字,名称应该是自定义的),vi 编译一下里面的 ...

  3. iOS CoreData技术学习资源汇总

    一.CoreData学习指引 1. 苹果官方:Core Data Programming Guide 什么是CoreData? 创建托管对象模型 初始化Core Data堆栈 提取对象 创建和修改自定 ...

  4. preg_match_all正则表达式的基本使用

    了解正则表达式之前,须要掌握一些常用的正则表达式的基础知识,这些如果能记得最好记得,记不住须要用的时候能查到就行,就多个特殊字符,所以说正则表达式玩的就是特殊,具体大家可以查看更加细致的说明. pre ...

  5. QT在windows下实现截屏操作并保存为png图片

    QPixmap originalPixmap = QPixmap::grabWindow(QApplication::desktop()->winId()); QString format = ...

  6. 移动端使用HTML5表单增强体验

    我们知道,HTML5新增了许多表单类型,如: number,email,url,tel,datetime,month,datetime-local等等,像datetime,month这些非常方便,免得 ...

  7. CSS代码原则

    css的团队合作规则以及怎样写出高性能的css代码. 一.使用Reset但并非全局Reset 同浏览器元素的默认属性有所不同,使用Reset可重置浏览器元素的一些默认属性,以达到浏览器的兼容.但需要注 ...

  8. js类(继承)(二)

    1. 定义js类 js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的Sh ...

  9. oracle 语句创建表空间、用户、授权

    /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace yuhang_temp tempfile 'D:\oracledata\yuhang_te ...

  10. 关于同一台机器上安装多个sql实例的连接方法

    由于客户需要在一台服务器上安装了两个sql服务器(一个sql2000,一个是sql2005,其实例名不同),默认的端口1433被先安装的sql2000使用,后来安装的的随机启用了一个3045端口.其中 ...