注:本技术白皮书的正文来自Spread的技术架构师,这里编译成中文并添加引言部分。
引言
随着互联网在全球范围内的快速发展,越来越多的中国企业开设自己的企业网站,向外展示自己的服务和产品。同时,企业内部的办公自动化系统、客户关系管理系统、内容发布系统等其它系统也逐渐开始使用以B/S为基础的Web系统来搭建。随着网络基础设施的建设和上网环境的不断改善,以B/S为基础的Web应用系统的好处不断凸显,Web应用也不断的升温和流行。当我们规划、设计并实施一个基于Web的系统时,最复杂、最难的部分莫过于对二维表格数据的处理和分析了。客户需要在不同的场景下对数据进行多变的处理和展现,与微软的Excel数据文件互联进行导入、导出操作,根据不同的页面背景展示不同的表格风格,本技术白皮书将介绍 Spread for ASP.NET表格控件在这方面的技术特性和功能特性,以满足客户复杂多变的需求。
Spread for ASP.NET技术特性
符合国际标准
Spread for ASP.NET表格控件遵循W3C(World Wide Web Consortium)制定的网站设计和架构方面的系列国际标准设计,输出的所有HTML, CSS, JavaScript完全符合W3C国际公共标准,具有良好的浏览器兼容特性,支持所有主流浏览器,如Microsoft IE , Mozilla FireFox, Apple Safari, Google Chrome等。
基于微软.NET技术,安全可靠
Spread for ASP.NET表格控件的所有代码全部使用微软.Net C# 语言编写,完全符合微软.Net 技术架构下托管代码控件的要求,由微软.Net技术框架强制对托管代码在编译时和运行时实施严格的类型安全检查,确保托管代码的安全性和可靠性。
易学易用,提高开发效率
Spread for ASP.NET表格控件和Visual Studio 2005, 2008, 以及最新的Visual Studio 2010 进行了无缝集成,并且使用体验与微软其它ASP.NET标准控件一致,只需要简单的拖拽即可完成控件的定位和布局,便于开发人员学习和使用。使用葡萄城自主创新的所见即所得控件设计器,进行简单的属性设置即可完成许多常用的表格功能定制,基本不需要开发者编写额外的代码,提高开发效率,大大节约开发成本。
针对海量数据处理进行优化,提升性能
Spread for ASP.NET表格控件根据海量数据的Web实际应用场景,增加了一系列的性能优化措施。LoadOnDemand按需加载功能可以通过对初始数据载入量的设置,提高系统效率,即在最初表格数据加载时只加载当前表格中用户可以看到的行数,当用户向下滚动或拖拽纵向滚动条时,再将需要显示的数据通过Ajax动态加载进来。ClientAutoCalculation 浏览器端自动计算功能,在Spread for ASP.NET表格控件中任意一个单元格的值都可以设置为公式计算结果,在某个单元格的值变化后, Spread for ASP.NET会使用Ajax在服务端根据整个表格控件中的数值和公式计算单元格的值,然后动态更新相应的单元格,用户体验和Excel一样。VirtualPaging 虚拟分页功能使得用户通过向下滚动或拖拽纵向滚动条达到前后换页功能,从而减小用户在换页时的顿挫感,使得换页操作更加的平滑。
Spread for ASP.NET功能特性
Spread for ASP.NET表格控件有着各种丰富的功能,可以满足复杂多变的客户需求。
以多种方式清晰展示复杂数据
作为功能最为强大的表格控件,Spread for ASP.NET表格控件中支持丰富的数据展示方式,例如层级展示功能,列转行功能,列角展示功能,冻结行,冻结列,行模板,等等。层级展示功能可以清晰的展示一些有着层级关系的数据,例如用户在主表格中展示某分类信息列表,主表格的每行用来展示当前分类的信息,每个分类下面还有此分类中商品的信息,当用户点击此分类时需要展开此分类下的商品信息二级表格,Spread for ASP.NET表格控件只要在数据绑定时设置一下多表数据行列层级绑定关系即可。同时还可以对二级数据展示进行客户定制,比如隐藏列、改变颜色,在二级表格和主表格中进行选择等等。列角展示功能,可根据用户需要在列角展示一些统计数据。这些数据展示功能结合在一起,可以展示各种复杂关系的数据。
全面支持Ajax技术和Ajax Control Toolkit
Spread for ASP.NET表格控件全面采用了Ajax技术,在数据的排序、分页、筛选、行列插入等操作中都加入了Ajax功能,基本上主要常规操作都使用了Ajax技术,无需整个页面刷新,有效提高了用户体验。Spread for ASP.NET中Ajax功能的设计完全遵从微软ASP.NET页面的生命周期,每一次Ajax请求都保证了服务端的数据正确性和页面事件正确性,对于开发者来说不用区分本次请求是Ajax请求还是非Ajax请求,所有对控件的操作都可保持一致。
另外 ,Spread for ASP.NET集成了微软Ajax Control Toolkit 中的主要控件,这些控件可以被放入到Spread for ASP.NET的任意一个单元格内,丰富了表格控件的表现能力。
丰富的图表类型,对数据进行全方位的展示
在Excel 2003以后,Excel的图表功能被更加广泛的使用,即把二维数据表中的数据以图表的形式展现出来,使得数据的展示更加的直观和立体。Spread for ASP.NET表格控件的最新版本5.0中全面支持了Excel的图表功能,将枯燥的二维数据表中的数据以生动的图表和曲线的形式展示出来,并且保持了和Excel一样的用户操作和用户体验。Spread for ASP.NET支持超过85种图表,同时内嵌接口满足用户创建和定制图表的需求。开发人员在Spread for ASP.NET设计器和新加入的图表设计器的帮助下,无需代码,只需要简单拖拽和设置即可完成图表的创建和样式设置。
灵活的交互模式,满足不同种类的需求
Excel支持用户可以任意的选中行、列、单元格,可以在其选中的元素上进行编辑。当Spread for ASP.NET表格控件在不做任何设置时和Excel的用户体验一致,但是当Spread for ASP.NET表格控件在被集成并使用到不同的业务系统中时,可能需要在特定的用户场景下限制用户只能选中某行、某列、一个连续的区域、等等。Spread for ASP.NET支持6种不同的模式:
? Normal(默认的工作表选择和编辑功能)
? ReadOnly(只能查看数据,不允许在表中选择或编辑任何单元格)
? RowMode(只允许用户选中单行并且只能对该行的单个单元格进行编辑)
? SingleSelect(只允许用户选中单行,但不能编辑任何单元格)
? MultiSelect(允许用户在工作表中选择多个连续的在一起的行)
? ExtendedSelect