2019独角兽企业重金招聘Python工程师标准>>>

C1GridView具有很多内置的功能,比如排序过滤分页以及分组

对于开发者来说,这些都是很有用的功能,因为它们可以节省大量通过代码实现这些能力的时间。
无论如何,开发人员不一定非要将其在设计时绑定到一个数据源。实际上,在大多数情况下,数据是动态绑定的。

本文讨论了当C1GridView动态绑定数据时如何实现排序,过滤分页以及分组。

绑定C1GridView

C1GridView可以绑定到一个ADO.NET数据源,比如说DataSet,DataTable等等。对于本示例,我们将grid绑定到C1NWind.mdb数据库文件的“Customers”表上。

public DataSet BindGrid()    {        OleDbConnection con = new OleDbConnection("provider=Microsoft.Jet.Oledb.4.0; Data Source=" + Server.MapPath("~/App_Data/C1NWind.mdb"));        OleDbDataAdapter da;        DataSet ds = new DataSet();        da = new OleDbDataAdapter("Select * from Customers", con);        da.Fill(ds);        return ds;    }    protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            C1GridView1.DataSource = BindGrid();            C1GridView1.DataBind();        }    } 

处理C1GridView事件

排序
为了实现排序,我们需要处理Sorting以及Sorted事件。Grid会在Sorted事件中被重新绑定。

protected void C1GridView1_Sorting(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewSortEventArgs e)    {    }    //处理 Sorting    protected void C1GridView1_Sorted(object sender, EventArgs e)    {        C1GridView1.DataSource = BindGrid();        C1GridView1.DataBind();    } 

过滤
处理过滤的代码和处理排序的逻辑完全相同。我们需要处理Filtering 以及Filtered事件。

protected void C1GridView1_Filtering(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewFilterEventArgs e)    {    }    //处理Filtering    protected void C1GridView1_Filtered(object sender, EventArgs e)    {        C1GridView1.DataSource = BindGrid();        C1GridView1.DataBind();    } 

分页
处理分页的逻辑和处理排序和过滤得逻辑有一点点不同。我们只需要处理Paging事件。首先将G1GridView的PageIndex设置为NewPageIndex,然后就像我们之前所作的那样,对grid进行重新绑定。

protected void C1GridView1_PageIndexChanging(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewPageEventArgs e)    {        C1GridView1.PageIndex = e.NewPageIndex;        C1GridView1.DataSource = BindGrid();        C1GridView1.DataBind();    } 

分组
为了对C1GridView进行分组,需要将AllowColMoving以及ShowGroupArea属性设置为true。我们还需要处理ColumnGrouped以及ColumnUngrouped事件,并且将ColumnUngrouped事件留空。然而,在ColumnGrouped事件中,我们必须重新绑定grid。不同的是,这次我们需要添加一个参数,这个参数就是正在被拖拽或者分组的列的HeaderText。这个参数首先被用来按照该列进行排序,之后应用分组,以确保不会创建重复分组。

//处理 Column Grouping    protected void C1GridView1_ColumnGrouped(object sender,   C1.Web.Wijmo.Controls.C1GridView.C1GridViewColumnGroupedEventArgs e)    {        C1GridView1.DataSource = BindGrid(e.Drag.HeaderText);        C1GridView1.DataBind();    }    //处理Column UnGrouping    protected void C1GridView1_ColumnUngrouped(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewColumnUngroupedEventArgs e)    {    } 

下载示例

Wijmo下载,请进入Studio for ASP.NET Wijmo 2012 v1正式发布(2012.03.22更新)!

转载于:https://my.oschina.net/powertoolsteam/blog/278156

Wijmo 更优美的jQuery UI部件集:运行时处理Wijmo GridView数据操作相关推荐

  1. Wijmo 更优美的jQuery UI部件集:通过jsFiddle测试Wijmo Gauges

    Wijmo 的巨大优势之一就是,它们是非常流行的jQuery UI部件.这将意味着它们的基础类库具有很多支持者.具有众多的支持者同时也意味着更多好用的工具.这些好用的工具之一就是很酷的jsFiddle ...

  2. Wijmo 更优美的jQuery UI部件集:爱上 ThemeRoller

    Wijmo 是一个基于jQuery UI的UI部件的套件.Wijmo最方便使用的特点之一就是兼容ThemeRoller.ThemeRoller 是一个创建独特的jQuery UI web 部件主题皮肤 ...

  3. Wijmo 更优美的jQuery UI部件集:复合图表(CompositeChart)

    Wijmo的CompositeChart控件允许您使用一个Chart来分析和展现复杂的数据.相同的数据可以使用不同的可视化效果,不同的图表类型展现在一个图表内,使得用户可以从不同的角度,了解分析这组数 ...

  4. Wijmo 更优美的jQuery UI部件集:活动日历控件(Event Calendar)

    Wijmo Event Calendar活动日历控件,是一个功能齐全的活动日历控件,允许用户添加,编辑和管理他们的日程.默认情况下,控件将使用Html5的Local Storage特性,进行离线数据存 ...

  5. Wijmo 更优美的jQuery UI部件集:在安全站点使用Wijmo控件

    通常我们总会遇到这样的问题,在安全站点(HTTPS)中使用C1Wijmo控件时,用户可能会收到脚本错误. 发生这种状况的是由于我们的CDN链接不是https链接. 解决HTTPS 的错误 为了解决上述 ...

  6. Wijmo 更优美的jQuery UI部件集:客户端更改C1GridView数据源

    很多时候,我们在使用 GridView 展示数据时,希望最终用户可以编辑数据并且同步到数据源中.这是一项繁琐的工作.我们需要自定义模板列,并且在后台手动获取更新值,最后使用 SQL 语句同步到数据库中 ...

  7. jQuery 使用 jQuery UI 部件工厂编写带状态的插件(翻译)

    首先,我们要创建一个progress bar,它只允许我们简单的设置进度值.正如我们接下来将要看到的,我们需要通过调用 jQuery.widget 及其两个参数来实现这一操作,这两个参数分别是:将要创 ...

  8. (第十五集——第2章)MySQL数据操作

    数据操作介绍 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELEC ...

  9. UI --- Xcode7 模拟器运行时崩溃解决方法

    在 AppDelagate.m 文件的第一个方法中添加以下代码: UIViewController *viewVC = [[UIViewController alloc] init]; viewVC. ...

最新文章

  1. R 包 pathview 代谢通路可视化
  2. 确定关键质量的5大原则
  3. javascript --- 使用run函数,让100条ajax依次执行
  4. java list 取前3个_用java 截取字符串,每三个一组
  5. 【Leetcode】113. 路径总和 II
  6. python tclerror_Python Tk _tkinter.TclError:无效的命令名称“.42818376”
  7. sql server 跟踪_SQL Server跟踪标志指南; 从-1到840
  8. img之间出现缝隙的原因_神马情况?美缝剂施工出现脱胶是什么原因?
  9. python3基础(九)内置函数
  10. oracle 索引是否失效,oracle 索引失效的原因
  11. matlab画全连接网络,无标度网络及MATLAB建模.pdf
  12. 布料系统原理浅析和在Unity手游中的应用
  13. Ubuntu系统下 .7z 文件压缩解压命令
  14. Java初学者日志_05
  15. 【解决方案】Microsoft Edge 浏览器 出现“无法访问该页面”问题
  16. 如何把uniapp的vue小程序项目跑起来
  17. Java实现微信运动步数(已自测)
  18. 信息学奥赛一本通1258:数字金字塔
  19. acm国家集训队论文(1999-2009)
  20. 河南单招计算机分数线,2019年河南单招分数线一般多少分

热门文章

  1. 又一个防火墙的问题——content filtering
  2. iOS自定义控件:简易下拉控件
  3. java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架
  4. 短视频+直播——直播系统开发新模式
  5. 智能家居市场的魔方法则深度剖析
  6. 对称加密、工作模式和填充模式
  7. 如何用工匠精神突破创新?
  8. Go语言之并发示例-Pool(二)
  9. SegmentFault 技术周刊 Vol.21 - 程序人生(二):2016 这一年
  10. android Json详解