zoukankan      html  css  js  c++  java
  • Studio for ASP.NET Wijmo:使用 C1Pager 对 DataList 控件分页

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

    先上效果图:

    Pager 

    实现方法:

    首先,我们需要设置 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

  • 相关阅读:
    深入浅出 Application Insights--学习笔记
    .NET Core 在 K8S 上的开发实践--学习笔记
    传统.NET应用向微服务架构迁移的实践经验--学习笔记
    微服务快速开发框架的设计--学习笔记
    在.NET Core下的机器学习--学习笔记
    RPA AI .NET Core 与未来--学习笔记
    当我们在谈 .NET Core 跨平台时,我们在谈些什么?--学习笔记
    .Net Core + 微信赋能企业级智能客服系统--学习笔记
    用ASP.NET Core构建可检测的高可用服务--学习笔记
    ASP.NET Core基于K8S的微服务电商案例实践--学习笔记
  • 原文地址:https://www.cnblogs.com/C1SupportTeam/p/studioforaspnet_c1pager.html
Copyright © 2011-2022 走看看