千家信息网

比较JqGrid与XtraGrid

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,此只能比较两者的功能优劣,实现某种功能、效果的方便性和效率。首先分别粗略介绍XtraGrid和jqGridDevExpress是目前.net下最为强大和完整的UI控件库, XtraGrid是这个控件库
千家信息网最后更新 2026年10月31日比较JqGrid与XtraGrid

此只能比较两者的功能优劣,实现某种功能、效果的方便性和效率。首先分别粗略介绍XtraGrid和jqGrid

  DevExpress是目前.net下最为强大和完整的UI控件库, XtraGrid是这个控件库中重要的控件之一。在XtraGrid中集成了大量的高级特征,所以使用它进行开发的人员只需要对其属性进行简单的设置或编 写少量的代码,就能创建出十分美观的界面,从而使开发的工作效率大幅提高。

  特点如下

  • 完全支持ADO.NET,一闪而过的数据装入速度,XtraGrid充分利用内建的ADO.NET功能。使用这些新的数据访问架构并且内部数据模块与数据表达分离,在任何数据装入模式下XtraGrid不 使用任何额外的缓冲,即使当列分组时,XtraGrid使用很小的内存并执行请求操作与从数据源获取数据一样快速。

  • 高级非绑定模式支持 , XtraGrid可以和所有支持List或ITypedList以及其继承接口一起工作。

  • 带状的/漂亮的列, 当屏幕显得很很珍贵时,您能够用带状列最大化可见列的数量呈现给客户。您甚至非常容易和简单地能够在列头显示图像。

  • 自动数据分组并支持连接点分组 ,允许您的用户分组储存在XtraGrid中的数据,而且列无限制,使他们能够从未有过的分析和编辑信息功能。

  • 自动列分组,利用XtraGrid,您能够排序无限制数量的列,不需要写一行代码;

  • 自动数据过滤 , 通过类似Excel风格的过滤特征,您能够基于列内容过滤数据 - 任何列。过滤表达式甚至可以显示在网格的底部,提醒您的用户他们正在查询什么内容。您还能够创建您自定义的过滤对话框匹配用户需要的过滤特征。

  • 真正主细数据支持(Master-Detail) , XtraGrid允许您在绑定或非绑定模式下建立和表示主细(master-detail)信息,您甚至能够使用下拉模式放缩每个细项级,允许简单的维护最复杂的关系设置。

  • CustomDraw自定义绘制, 需要绘制任何Grid对象 - 行、列头等?用XtraGrid没问题,只有您的想象是限制。

  • 高级设计时支持 , XtraGrid提供高级的设计时编辑器,允许您控制所有XtraGrid的外观而不需要写任何一行代码。使用高级设计时支持您能够管理高级特征如级、风格、列和概括等。

  • 完全的数据概括, 概括允许您直接在Grid中表示统计信息如MIN, MAX, AVG, SUM和COUNT而不必采用古老而难看的单独的edit控件。您甚至允许您的用户用分组头和注脚概括分块数据。

  • 基于View的架构, 在XtraGrid中的每一级能够通过不同的View表达。XtraGrid使用标准的行列View以及CardView,类似Microsoft Outlook。所有Views都能够很快的改变。

  • 每列多种编辑器 - XtraGrid的同一列可以使用不同的编辑器。

  jqGrid是一个jQuery的plugin,提供grid操作界面,并支持经Ajax连结服务器上的资料源。jqGrid在共同的基础结构上,提供数种操作模式,分别包装于不同的档案之中。除了共享的数个档案之外,使用者按需要选择操作模式,并使用对应的程序档。可惜各操作模式之间常见功能雷同之处,程序重用性却未进一步整合、提升,而各模式的更新速度也不太一致。

  特点如下

  • 完整的表格呈现与运算功能,包含换页、栏位排序、grouping、新增、修改及删除资料等功能。

  • 客制化的工具列。

  • 预设的Navigator 工具列,可以很容易的使用新增、删除、编辑、检视及搜寻等功能。

  • 完整的分页功能。

  • 按下任一栏位的标头,皆可以该栏位为排序项目。无论是升幂或降幂皆可。

  • 预设的action formatter,可以快速而直觉地对每笔资料做运算。

  • 除了jqGrid lib 所提供之formatter(包括email,link,select,checkbox,date 等) 外,开发者可以从资料来源自订资料显现方式,即所谓的custom formatter。

  

两者的不同归结为以下方面:

表格视图

  XtraGrid中有4种类型的View,它们分别是:GridView(二维表格视图)、BandedGridView(带状二维表格视图)、AdvBandedGridView(高级的带状二维表格视图,增加了一些操作功能)、CardView(卡片视图)。这4种类型的View都是从ColumnView中继承而来,而ColumnView又是从BaseView继承来的。其中BaseView和ColumnView都是抽象类(abstract),不能实例化。

  由于每种视图都是一个类,它们对基类ColumnView重写不尽相同,故某些效果在一种视图上可以实现,换了另一种视图就不行了。

  jqGrid同样也有二维表格视图,带状二维表格视图,树状视图。

  对于二维表格视图与带状表格视图,它们的区别只在于在属性处添加多一个表头分组,对表格的操作完全一样,故更换视图的类型后其实现功能和效果不会有差异。

模板列

XtraGrid提供比较丰富的模板列类型,但是在自定义模板方面就欠缺了,一个模板列只能使用一种类型,比如在一个列里头想放一个不可编辑的文本框,一个图片按钮,还有一个日历控件,这样就办不到了。而且那个模板列里只能使用XtraGrid它定义的那套模板列类型,想使用自己定义的类型或者用微软原本定义的控件也不行。用它原本的控件好处是get/set值比较方便,同时也使得模板没办法使用别的控件。

  jqGrid它本身没有提供模板列类型,就像.NET本身的GridView那样,可以往模板里添加多个控件,个人感觉jqGrid的模板列很自由很开放,可以在模板中可以放置一个或多个控件,可以是自己写的,也可以是其他的插件。

分页

  XtraGrid提供了分页栏,只需要把gridControl 的UseEmbeddedNavigator 属性设为true则可。XtraGrid实现分页功能有两种办法,一种则是利用XtraGrid本身的Server Mode模式 。但这种方式有诸多弊端:1)不能编辑、增加、删除数据; 2)不能通过显示值来进行排列和过滤数据(但可以用编辑值来进行这些操作);3)用户排序时不触发ColumnView.CustomColumnSort事件; 4)用户分组时不触发GridView.CustomColumnGroup事件; 5)用户计算汇总时不触发GridView.CustomSummaryCalculate事件; 6)在Server Mode模式下,数据表的主键不能由多个列组合而成。另一种方式就是利用SQL的分页查询。

  jqGrid也提供了分页栏,它的分页方式与XtraGrid的第二种方式类似,采用SQL的分页查询。

  个人认为采用SQL分页查询来实现分页这方式比较好,即使XtraGrid的Server Mode模式不存在那么多的弊端,使用了Server Mode模式,万一将来的某一天更换了控件,甚至从C/S模式换成B/S模式,这样要更改的代码量会比利用SQL分页查询的代码量要大。

数据源

  XtraGrid的数据源绑定与传统GridView的数据源绑定有所不同,经过绑定的操作后,XtraGrid上的数据仍然与数据源的数据同步,即修改了XtraGrid里的数据,数据源的数据也同样会被修改,修改了数据源的数据,XtraGrid里的数据也会跟着被修改。而且它可以很方便地获取到某一行记录的对象,比如将一个List绑定到XtraGrid中,XtraGrid可以通过 GetRow 方法获取某行的People对象。还有一个优点就是若想批量修改某些数据,可直接对数据源进行操作,这样就不需要遍历单元格去修改。

  jqGrid绑定了数据源之后,表格里的数据与数据的数据就与GridView的情况一样,两者是不相关的,修改了一方的数据,对另一方没有任何影响。

总结 

  综合了jqGrid和XtraGrid的优点,个人认为一个好的网格类控件(或插件)除了有绚丽的外观以外,还应该具备以下功能:

  • 具有统计运算的功能;

  • 具有父子表的功能;

  • 对某列排序,分组,筛选功能;

  • 提供工具栏方便增删改查操作;

  • 拥有多种分页读取数据功能(如传统的通过分页栏读数据和通过滚动条控制分页度数据);

  • 支持多种类型的数据集合作为数据源;

  • 能够方便地获取到单元格的信息;

  • 对表格数据的更改能同步到原本绑定的数据源集合中;

  • 提供简便的方法对数据的格式进行验证;

  • 方便数据导入导出;

  • 能够方便地设置条带状的列;

  • 提供多种编辑器;

  • 模板允许多种编辑器自由组合使用,而且可以添加任意的控件(插件进入模板);

  • 支持快捷键操作,减少用户在鼠标与键盘上切换;

  • 根据用户需要对列的先后顺序进行重新排列;

以上纯属个人看法,有什么不足缺漏或错误的,欢迎指正。


数据 功能 模式 视图 控件 模板 表格 数据源 支持 用户 类型 分组 高级 带状 方式 二维 代码 多种 编辑器 资料 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 中国互联网科技工作委员会毛军 互联网科技深圳 金融科技 互联网金融 安徽鑫晟辉互联网科技 天下捷融互联网科技 互联网高科技企业 互联网养老 桔豆科技 深圳市运趣互联网科技有限公司 深圳前海聚择互联网科技有限公司 金融科技与互联网金融相同和不同 贵州叶脉互联网科技有限公司所属行业 国大互联网教育科技有限公司工作 深圳互联网科技的发展 广州燕处互联网科技有限公司 互联网科技平台产品运营 版纳互联网科技选哪家 兰石爱特工业互联网科技分公司 每日互联网科技新闻 山东亿川互联网科技有限责任公司 天津市摩尔互联网科技 互联网科技公司简介 华服互联网科技怎么样 互联网科技缩写 长亮科技互联网金融 富国互联网科技创新基金 华服互联网科技官网 互联网数据科技专业 新氧科技和美国互联网有关系吗 互联网科技大佬云集
0