SmartTable露个脸

 

 

 

SmartTable简介

 

作者:熊水林

一、   起源

SmartTable为何许人?顾名思义,Smart为“灵活的、巧妙的”之意,SmartTable则是为网页定制的一个极具个性的中国式报表。它创作的初衷源于作者一段项目经历,部分的灵感也来源于当时公司级的一个开发平台(暂不署名),但绝没有Copy里面的一行代码,而相比起来在布局方面更具一些优势,如:多表头合并、合并数据列、行列不固定、数据监视等。

SmartTable在初出一个稳定版本后,除了在当时的那个项目中使用外,完全转入了地下升级改造,以后的版本纯属个人产品,因此升级的也比较缓慢。时至现在有两年光阴,仍没有完全封版,这或许是坏事同样也是好事,因为总有值得期待的东西。

SmartTable使用的是纯手工JSDOMAJAX等众多Web2.0技术,里面集成了作者创作的多个公共js组件,在作者研发的过程中就力求兼容多种浏览器,这一点是通过prototype这一js framework来实现的,感谢它的发明者。

二、      版本

V1.0,原始版本,完成最重要的几个功能:可以交互的增删改表格的数据行。

V2.0,与V1.0有一个较大的差异,就是“固定表头”,为了支持固定表头,SmartTable从一个HTML table重构为五个table,这是一个重大的里程碑式的改变,重构之后,原有的大部分接口仍保留,但界面操作上更趋合理,也更加注重了性能的改善(比如表头更新是可选的)。

V2.5,初步的数据监听功能,比如:数据超过规定范围用不同颜色显示、超长数据缩略显示、记住修改行等。

V3.0,即将完成的功能,见下章说明。

三、      功能

SmartTable”到底有哪些功能呢?不妨先看一下它的注释:

说明:

1、  可编辑输入框HtmlEditor可以为SmartTable任何一列添加任何一种HTML的控件,包括text INPUT、RADIO、CHECKBOXSELECT等;

2、  排序,点击某些列的标题,可以将表格按该行数据的大小顺序重新调整行;

3、  显示行号、光标:当前编辑行的第一显示列有一个符号,并且当前行高亮显示;

4、  增加、删除:对外提供接口,可以方便的增、删若干行;

5、  合计行:支持表格数据的统计功能,如果是数值型数据,合计行为他们的和,否则显示“---”字样;

6、  自定义公式列:支持简单的四则运算,比如“$C1+$C2,表示该列的值是第一列和第二列之算术和,当修改相关行时,公式列能够自动更新;

7、  固定表头:是指类似于Excel冻结窗口的效果,当表格的数据行(列)多于显示的区域长(宽)时,可以指定若干列,使得移动水平滚动条时仍能固定显示出来,同理,当移动竖直滚动条时,表格的标题也能固定在页头;

8、  分页:这里有客户端分页和服务端分页结合,“上页|下页”为客户端分页,“前十页|后十页”作服务端分页。

9、  隔行表色:按照表格行号的奇偶性将行的背景交互变化,背景颜色可以调整,或者变化的行数也可以变化,比如每三行换一次背景色;

10、  校验数据类型:在对HtmlEditor输入数据时即校验(可否为空、取值范围等)

11、  缩略显示数据列:当数据长度超过列定义宽度时,只显示数据文本的一部分,当鼠标停留时,会提示全部文字。

12、  数据越界警示:用户自定义一组规则,数据在不同区间内以不同颜色显示,包括手工修改数据时实时变换。

13、  记忆修改行

14、  取消一列显示

15、  手工调整、列宽自动调整:

16、  JSON数据

17、  转换成图表Chart

18、  License支持:作者按IP、使用天数生成License,没有,对不起,请尊重我的辛苦劳动。

四、      效果

五、      调用方式

1JS调用方式(很土,适用于客户端交互):

2taglib(页面一次性载入)

六、      后续规范

为了简化JSP的调用,如果不需用户交互,从调用方式上讲,应该提供tag的形式,用户只需简单的设置若干属性,就能展示出期望的效果。在之后的版本中,我会扩展现有两个标签的属性(从命名上要接近习惯用辞)、也会提供更多的标签来展现一些交互的按钮;进一步的研究将会放在支持图形展现上!

七、      后记

SmartTable是作者历经无数个不眠之夜、经受项目档期考验的情况下完成的,因此对作者心身推残也非普通作品可比。V2.0+的每次升级,都需要从头阅读代码和反复回归测试,每一次都是自我肯定和否定的交织。正如每一个执着的Java/Web程序员,作者亲身体验到孤独与不解,因此会倍加珍惜现今来之不易的成果,同时也企望作品能成为商业化的工具得到更多的用户使用并认可。

因此当你在网络上能够下载到盗版/破解的SmartTable时,希望你会主动地放弃使用它,如果还会主动检举并劝说制作者,将会得到作者一生的鸣谢;作者更不希望你花更多的时间去阅读并修改它,因为它对你来说是全新的一个陌生宝贝,做到了然于心并非容易之事,反之你只需要花费少量的金子,就可以生下无尽的煎熬。这是多么划算并具功德的事啊!

SmartTable的作者只有treeClimber@csdn一个人,缺陷在所难免,因此希望更资深的大侠能够容忍并给予指导,不尽感激!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值