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. javascript不用new关键字创建对象示例

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. post 的body json要使用双引号,而不是单引号

      string parse error , JS eval error {'name' : 'wade' }   http://json.parser.online.fr/ string parse ...

  3. EvreryDay Collect

    1.在使用WebService时我们经常会考虑以下问题:怎么防止别人访问我的WebService? 在System.Net中提供了一个NetworkCredential,只有获得该凭证的用户才能访问相 ...

  4. AD10长方形通孔焊盘的画法

    1.点击工具栏中[放置焊盘]按钮 2.按键盘Tab键弹出[焊盘]对话框 3.设置[空洞信息]相关尺寸(根据自己所需实际设置) 这里左边的单选按钮选择“槽”,通孔尺寸输入20mil,长度为80mil,旋 ...

  5. 一段时间没上来了,看到有很多网友对OWA感兴趣,因为所在公司发展方向的原因,没有太多时间继续深入研究OWA,敬请见谅

    一段时间没上来了,看到有很多网友对OWA感兴趣,因为所在公司发展方向的原因,没有太多时间继续深入研究OWA,敬请见谅

  6. git Please move or remove them before you can merge. 错误解决方案

    git pull 时 往往会遇到各种各样的问题 ,下面是常遇到的一种状况 Updating 7c9e086..936acacerror: The following untracked working ...

  7. iOS开发-Xcode升级后插件失效解决办法

    打开terminal,输入如下命令: | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults r ...

  8. Ubuntu 中搭建 LAMP 及 php 开发工具

    所谓 LAMP,指的是:Linux+Apache+Mysql+Php 仅以此文做一个备忘录 Step1. 安装 Apache 1. 在 terminal 中输入一下命令并执行: sudo apt-ge ...

  9. MemSQL start[c]up Round 2 - online version C. More Reclamation(博弈)

    题目大意 额,写来写去,我还是直接说抽象之后的题目大意吧: 有一个 r*2 的矩形,两个人轮流的在矩形上面减去一个 1*1 的小正方形,要求在减的过程中,不能使矩形“断开”,也就是说,如果一个人减去了 ...

  10. ubuntu下查看环境变量

    在Windows下,查看环境变量的命令是:set,这个命令会输出系统当前的环境变量.   Linux下准确的说是REDHAT下应该如何查看呢,命令是:   export   如果你想查看某一个名称的环 ...