浅析web项目数据显示的table/grid插件
Liber 2013-04-08 14:39

Web项目中几乎总是存在大数据的显示,下面列举一些table/grid插件:

  1. Ember Table
    个人比较喜欢这款插件的效果,UI简洁,功能实用,几乎都是经常会用到的,大家可以去它的首页看看,最好用Chrome,效果蛮帅的。
    不过,这个插件的上手门槛还是有点的,首先要看懂它的demo就需要一些功力,貌似他是用到了Node.js, CoffeeScript等技术,对于一些朋友来说,上手还是困难了一些。
    另外,目前,该插件在IE下还存在一些兼容性问题,个人估计插件一开始是考虑用在ipad等平台的,所以没有过多的考虑PC浏览器的一些兼容性问题。 而且,该插件似乎超越了插件的范畴了,而且提供了一套以table为基础的数据显示解决方案,所以,使用起来,就没有那么傻瓜了。
    不过,插件拥有一个不错的开发团队,一直在密集更新,我们可以继续保持关注。

  2. FixedHeaderTable
    插件提供了固定表头的功能,固定左列的功能,在底部复制表头的功能。
    就这些,非常简单,使用起来也很容易,大家可以去下载它的demo看看。

  3. jqGrid
    这是一个重量级的插件,几乎拥有了一个table会涉及到的方方面面的各种功能。
    官方网站中也提供了比较详细的文档和使用demo,如果,你有足够的时间,可以尝试学习使用。

  4. Flexigrid
    功能上,常用的一些功能跟jqGrid差不多,比其轻量级一些。
    不过,用来个性化的话,比较麻烦,适合喜欢其UI,不需要过多修改的朋友使用。

  5. Handsontable
    这个直接就是模拟了Excel了,连鼠标右键都修改了,很暴力很强大。

  6. DataTables
    这个没去研究,貌似也比较大而全,而且根据需要,如果需要支持一些功能,会需要引用其它的插件。

  7. ligerUI
    这个提供了更大的一套解决方案,在table这一块,貌似效果也不错。
    值得一提的是,这个是插件的作者是国人,所以文档和技术支持都是中文的,朋友们可以认真去尝试一下。

浅谈:
目前,我们在项目中使用table/grid插件的时候,一般会有两种方式:
一、使用解决方案式的插件,如jqGrid、Flexigrid、Handsontable、DataTables、ligerUI等。
二、根据实际情况,选择各种小插件,按需使用。

方式一
主要优点:
一站式的解决方案,扩展功能比较多,能适用于各类各种需要的用户,提供良好的用户体验;
一款优秀的插件,能为以后的工作提供很大的便利,面对复杂的表格需求,可以从容淡定。
主要缺点:
上手比较困难,功能多,相应文档的内容也多;
个性化的修改比较困难;
比较容易绑在一款插件上,不能说用就用,说舍就舍,自由度不高。

方式二
主要优点:
各插件只完成各自的事情,程序员对项目的掌控比较高;
小插件一般都比较简单,而且开源,相应的修改和个性化都比较容易。
主要缺点:
需求每增加一个,就要去增加新的插件,几乎没有扩展可言;
小插件的作者一般都是个人,不能保证Bug的修正和插件的质量与更新;
如果插件太多,会增加项目的管理成本。

所以,究竟该怎样选择,还是没有统一的定论,个人认为:
对哪个熟就用哪个。
如果使用过方式一的相关插件,而且个性化的要求不高,就用方式一;
如果没使用过,而且项目需求基本能明确的时候,使用方式二。