目标:实现一个类似于Excel功能的Grid数据维护功能,并且就地编辑在乎的是Cell编辑而不是行编辑
候选者:easy-ui之datagrid, jqgrid, flexigrid
使用环境:jquery, bootstrap,bootstrap-datepicker
特性要求:
1. 列排序和列宽改变
2. 行颜色改变和样式
3. 表头排序,表头改变顺序
4. cell inline editing
5. 易于定制和扩展
上面上个没有没有一个本身就能满足所有的功能
其中easy-ui datagrid缺乏列重排序和Cell edit的功能
jqgrid缺乏列重排
flexgrid缺乏就地编辑的功能
幸运的是它们每一个自己改改都能实现自己的功能,其中flexgrid我个人觉得最轻量级最灵活,所以给他配上in-place edit插件,然后利用它的process回调函数,所有功能特性全部满足了,主要是干干净净,看着就舒服。而且它的UI非常像EXTJS,个人非常喜欢,还有是表头的拖拽功能,隐藏显示功能都非常要用。
jqgrid 2008年就搞过,功能非常丰富,它处理复杂Grid,比如嵌套grid,组合表头都很棒,但是它很多东西严重依赖JQuery UI来搞,皮肤都是Jquery Ui的,如果项目中用了JQuery UI,那么使用它作为JQuery UI在Grid方面的功能实现,是非常棒的;
EasyUI是近年流行的JQuery下类ExtJS的UI库,它提供了完整的一套UI组件,并且日趋成熟,如果整个系统都是由EasyUI做的,那么用EasyUI也是很棒的,但是我却不喜欢它默认的风格,觉得某些方面不如EXTJS那么细腻。