TreeGrid是一个DHTML树形表格控件,它完全使用JavaScript语言编写,用以实现HTML页面上的table, grid, tree view 或者 grid with tree里的数据地展示和编辑。EJS TreeGrid还提供了强大的甘特图功能,能够满足您把项目进度管理以图表的形式直观地展示出来。
具体描述:
数据可以来自多个数据源:静态XML文件,静态JS文件,(JSON格式),XML web服务,SOAP web 服务,或者用PHP,JSP,ASP.NET等语言写的任何页面,或者任何脚本服务。无需提交(AJAX)页面即可上传更新的数据。上传方式有从HTML到POST和HTML到SOAP XML。可以通过标准的表格/页面方式(例如,隐藏输入)或自定义方式上传更新的数据。
输入/输出数据是预定义或非预定义的XML树。使用id属性确定行。在这种格式下,数据可以储存在服务器上,也能轻松地转换为其它形式,如数据库表格。
可作为Windows和Linux系统的服务端组件,使之有排序,筛选和计算上百万行记录的能力。标准的DLL/SO,在支持DLL的Windows系统或支持SO的Linux系统(ASP.NET,Java servlets / JSP,PHP等等)的任何服务器脚本环境下都能使用。DLL/SO运行速度块,占用小。DLL只辅助库,无需它,也可以通过脚本支持服务器分页。
EJS TreeGrid是客户端组件,运行在客户浏览器上。兼容大部分标准浏览器。无需安装,也不需要其它的客户端或服务端组件。页面上使用TreeGrid不需要任何JavaScript代码。易于控制服务器脚本环境(ASPASP.NETPHPHJSP等等,任何XML web服务)中 的html页面,在这些环境中,只需要XML格式的数据读取和写入代码。所有的操作都在客户端,与服务器的通信仅是纯数据,所以服务器与客户端的宽带占用降到了最低。
TreeGrid基本功能特征:
- 兼容多种浏览器:
- Internet Explorer 6.0+,及所有以IE engine为内核的其他浏览器
- Mozilla Firefox 1.5+,及所有以Gecko engine为内核的其他浏览器
- Google Chrome 3.0+ 和 Safari 3.0+, 及所有以WebKit engine为内核的其他浏览器
- Opera 9.0+
- iPad 苹果手机浏览器 1.0+
- Android browser 3.0+
- 支持所有CSS1兼容模式,支持任何<!DOCTYPE>标签设置。
- 使用分页和AJAX技术,TreeGrid在离线情况下可以处理多达约2万行记录,而在联网情况下则可处理高达数百万行的记录。
- 对于所有页面,各种类型的分页方式都具有排序,过滤和计算的功能。
- 对客户端没有任何要求。
- 所有操作都在客户端上完成,无需发送数据到服务器。(如果服务器没有采用分页处理。)
- 数据格式非常小,因为服务器仅仅发送运算值,而不是图表格式。
- 在TreeGrid中用户可以通过定义事件来扩展脚本。为数据验证或编辑修改后的值执行一项操作,便可改变TreeGrid外观,改变颜色状态,等等。
- 用JavaScript代码来扩展API,从而控制TreeGrid的所有功能。
- 可通过CSS样式进行可视化设置。
- 根据它们的状态改变行和单元格的颜色(改变,删除,添加,集中,选择,鼠标悬停,编辑…)
- 支持单元格拆分以及合并。
- 用户设置(比如列的可见性,位置和大小,排序类型,过滤,所有grid的设置)都可以在客户端被保存到cookies或可以发送到服务端。
- 在一个页面上支持多个树型网格,并在它们之间可以互相操作(例如拖拽)。它们可能有不同样式/图像/颜色!
- 支持主、从网格,甚至是树型网格。
- 根据列中相同的值分组构成树形结构。类似于MS Excel中Pivot表的摘要。
- 类似于在MS Excel中计算单元格,包括数学,总计(Sum, Count, Sumif, ...),统计和自定义的函数,或任何JavaScript代码公式。
- 类似于MS Excel中的过滤器一样。对于任何列,用户可以根据列的值指定一个表达式和运算符来筛选行。一个Grid可包含多个过滤器。日期和数字范围过滤器。
- 高级过滤器,可通过任何表达式或公式预定义过滤器。
- 类似于Google的查询搜索功能。
- 可导出到Microsoft Excel或任何其他电子表格程序中,可处理XLS文件或HTML表格中的数据。包括数字和日期格式。
- 支持打印功能
- TreeGrid操作控制面板功能,可内置或外置于TreeGrid.所有的按钮都可以由事件控制,或被隐藏。
- 支持服务器端分页,验证,排序和过滤功能。单元格可以被标记为错误,并可以将错误标题发送给服务器。
- 根据单元格内容自动改变行高,当在文字编辑区编辑时自动改变高度。
- 甘特图的方式制作,包括依赖项和动态更新。
- 显示和动态更新外部对象,如Adobe Flash ,Microsoft Silverlight或自定义的JavaScript对象。
- 许多基于ASP (VBScript), ASP.NET (C#, Visual Basic), JSP (Java) 和 PHP服务器端的脚本例子和预定代码。
- 关于TreeGrid的详细文档,包括用法、事件、数据格式、JavaScript API和单元格公式。
数据通信:
- 输入/输出数据格式是通过任意XML解析器对XML文件进行解析的。 XML文件可以作为一个文件发送或作为编码的字符串发送。
- XML被很好的构成,并已经预先设定了通用的DTD (数据类型定义)。
- 输入的数据可以来自各种数据源:静态XML文件,所产生的XML网页, XML Web服务,SOAP Web服务,在HTML页面表单输入控制值或任何其它用户定义的来源。输入格式是自动识别的。
- 改变后的数据可以被上传到服务器,并且不需要提交和重新加载页面(AJAX),或通过提交网页的一部分内容来发送表单的数据。
- 上传的方法是:text/plain, text/xml, application/x-www-form-urlencoded, 以及用SOAP XML格式的text/xml 编码。
- 支持XML Web服务功能,它使用HTML形式或SOAP XML通信。此功能必须返回字符串或XML文档,并接受参数字符串,XML文件或任何基本类型。支持所有ASP.NET,Java SOAP (SAAJ),PHP SOAP的Web服务。
- 同步服务器功能:TreeGrid可以自动检查并下载所有修改变化,这些修改变化来自于其他用户或应用程序在服务器端进行的操作。
TreeGrid的先进功能:
- 在有Tree、Grid的TreeView中或者纯DataGrid中显示数据的行和列。
- 根据其类型(string, boolean, integer, float, enum (select), radio, datetime, html, img, url ...)显示和格式化其值。支持任何常规表达式的编辑。
- 对类型值和格式的设置通常为整列,但该控件可以为单元格进行单独设置。单元格可以被设置为只读
- Values函数的编辑是基于它们的类型和HTML表单元素进行的(输入框,复选框,选择框,文本域等等)。日期编辑则是使用控件本身的日历控件。
- 支持用户在单元格中内置按钮,并预定义用户对话框。
- 在树型结构中可展开/折叠行。
- 支持鼠标或键盘操作。支持Tab键。完全自定义鼠标和键盘模式。
- 可以从网格、任何文本编辑器或电子表格程序如MS Excel中复制&粘贴选定的单元格。不支持Opera浏览器。
- 支持添加和删除记录。
- 支持通过鼠标拖拽来移动和复制行(拖放操作行和对行进行分组)。即使在更多的TreeGrid之间,都可通过用户API事件来进行控制。
- 支持重设大小和列的移动。
- 选择行和选择分组操作(移动,复制,删除,拖拽,...)。
- 通过鼠标选择行或单元格范围,并对选择范围进行操作(复制,粘贴,自定义操作,...)。
- 支持一列甚至更多列排序、字符串比较——是否启用大小写和资源本地化设置。
- 根据它们的值过滤行。
- 支持滚动部分的内容:在各方向固定和改变行和列,兼容鼠标滚轮功能。
- 支持本地化:所有的文本都是在外部的XML文件中,并能翻译成任何语言。
- 这个文件还包含依赖于数字和日期时间格式的语言以及常量。