SigmaGrid为你制作web报表提供了一个新的选择。用SigmaGrid制作报表的优点:
1、可以在浏览器上进行分组聚合运算,充分利用客户端cpu的计算能力。
2、在浏览器上生成分页打印页面,根据程序定义或者用户选择的多种参数进行分页计算,使最终打印出来的报表充分匹配客户端的打印机和纸张类型,使报表更美观。
3、代码编写简单。
4、灵活的二次开发。充分利用js脚本语言的强大功能,让你自如定义分组合计行的内容。
实例为证:
从服务器获得的对象集合:
{period:"07年3月",goods:{id:4,code:"CL004",name:"丝绸面料",unit:"米"},storage:{id:1,name:"原料仓库"},initAmount:60,initMoney:3000,inAmount:150,inMoney:7500,outAmount:200,outMoney:10000,finalAmount:60,finalMoney:3000},
{period:"07年3月",goods:{id:5,code:"CL005",name:"涤纶面料",unit:"米"},storage:{id:1,name:"原料仓库"},initAmount:200,initMoney:2000,inAmount:300,inMoney:3000,outAmount:440,outMoney:4400,finalAmount:200,finalMoney:2000},
{period:"07年3月",goods:{id:6,code:"CL006",name:"丝棉混纺面料",unit:"米"},storage:{id:1,name:"原料仓库"},initAmount:300,initMoney:6000,inAmount:800,inMoney:16000,outAmount:900,outMoney:18000,finalAmount:300,finalMoney:6000},
...
列模型申明:
{name:"period",caption:"会计期",width:60,mode:"string"},
{name:"goods.code",caption:"商品编码",width:80,mode:"string",align:"center"},
{name:"goods.name",caption:"商品名称",width:80,mode:"string"},
{name:"goods.unit",caption:"单位",width:40,mode:"string",align:"center"},
{name:"storage.name",caption:"仓库",width:80,mode:"string"},
{name:"initiatory",caption:"期初",children:[
{name:"initAmount",caption:"数量",width:40,mode:"number",format:"#"},
{name:"initMoney",caption:"金额",width:80,mode:"number",format:"#.000"}
]},
{name:"currentIn",caption:"本期入库",children:[
{name:"inAmount",caption:"数量",width:60,mode:"number",format:"#"},
{name:"inMoney",caption:"金额",width:80,mode:"number",format:"#.000"}
]},
{name:"currentOut",caption:"本期出库",children:[
{name:"outAmount",caption:"数量",width:60,mode:"number",format:"#"},
{name:"outMoney",caption:"金额",width:80,mode:"number",format:"#.000"}
]},
{name:"final",caption:"期末",children:[
{name:"finalAmount",caption:"数量",width:60,mode:"number",format:"#"},
{name:"finalMoney",caption:"金额",width:80,mode:"number",format:"#.000"}
]}
按会计期分组聚合的报表生成代码:
function report1(){
var context = {
sequence:true,checkBox:false,readonly:true,locked:3,sortable:false,
groupBy:{keyName:"period",groupsOrder:{column:"period",order:"asc"},rowsOrder:{column:"goods.name",order:"asc"},aggregate:[{column:"inMoney",exp:"sum"},{column:"outMoney",exp:"sum"},{column:"finalMoney",exp:"sum"}],view:"oThis.rows[0].rowData.p$('period')+'入库金额:'+eval(oThis.values()['inMoney'])+'元,'+oThis.rows[0].rowData.p$('period')+'出库金额:'+eval(oThis.values()['outMoney'])+'元,'+oThis.rows[0].rowData.p$('period')+'余额:'+eval(oThis.values()['finalMoney'])+'元'"},
paintMode:"page"
};
grid = new SigmaGrid("gridbox",context,columns);
grid.bindData(data);
}
效果参见附件1
按仓库分组聚合的报表生成代码:
function report2(){
var context = {
sequence:true,checkBox:false,readonly:true,locked:3,sortable:false,
groupBy:{keyName:"storage.id",groupsOrder:{column:"storage.name",order:"asc"},rowsOrder:{column:"goods.name",order:"asc"},aggregate:[{column:"inMoney",exp:"sum"},{column:"outMoney",exp:"sum"},{column:"finalMoney",exp:"sum"}],view:"oThis.rows[0].rowData.p$('storage.name')+'入库金额:'+eval(oThis.values()['inMoney'])+'元,'+oThis.rows[0].rowData.p$('storage.name')+'出库金额:'+eval(oThis.values()['outMoney'])+'元'"},
paintMode:"page"
};
grid = new SigmaGrid("gridbox",context,columns);
grid.bindData(data);
}
效果参见附件2
从例子中可以看出来,你可以用一个ajax请求获得报表的基本数据,然后用户可以选择各种不同分组聚合模式在客户端生成报表。从而减少网络流量,提供更好的用户体验。
- 大小: 1.4 MB
- 大小: 1.5 MB
分享到:
相关推荐
Sigma grid 最终版本。。。 由纯javascript写成,是一个开源的AJAX数据网格,能滚动和排序显示和内嵌数据编辑功能,是非常强大且易于使用的表格,支持php...不会使用 gt-grid 的同学可以参考 Sigma grid 的源码。。。
"sigmagrid文件夹.zip" 是一个包含有关sigma_grid/gt_grid相关资源的压缩包,主要目的是提供最新的使用手册、API文档以及示例代码,帮助用户理解和应用这个库。sigmaGrid是一个专门用于处理网格数据的工具,可能在...
10. **文档与示例**:为了方便开发者使用, Sigma Grid 应该提供详尽的API文档和丰富的示例代码,帮助开发者快速理解和应用这个组件。 从压缩包中的"codefans.net"来看,这可能是 Sigma Grid 的源代码或示例代码的...
这个压缩包包含了关于 Sigma Grid 的使用指南和可能的示例文档。 1. **jQuery 插件介绍**:jQuery 是一个广泛使用的JavaScript库,简化了HTML文档遍历、事件处理、动画制作以及Ajax交互。Sigma Grid 是构建在jQuery...
"Sigma Grid 研究及使用"这一主题主要聚焦于一个特定的数据展示工具或框架,Sigma Grid,可能是用于开发人员在构建数据密集型应用时使用的组件。从给出的标签"源码"和"工具"来看,我们可以推断这可能是一个开源项目...
sigma grid api sigma grid api sigma grid api sigma grid api sigma grid api sigma grid api
"Sigma Grid"是一种高效的数据网格组件,主要用于JavaScript(JS)开发环境,特别是在Web应用程序中处理大量数据时。它提供了一种强大的方式来显示、编辑和操作表格数据,具有高性能和可定制性。以下是对"Sigma Grid...
**Sigma Grid API 使用手册** Sigma Grid 是一款强大的数据网格组件,尤其适用于开发具有复杂数据处理需求的业务应用程序。它的API提供了丰富的功能,让开发者能够高效地管理、展示和操作大量数据。本手册将深入...
《sigma_grid与gt_grid API 使用手册教程全解析》 在当今的数据分析和处理领域,高效且易用的工具是至关重要的。"sigma_grid" 和 "gt_grid" 是两个备受推崇的库,它们提供了强大的数据网格处理功能。这篇教程将深入...
Sigma Grid是一个采用纯javascript开发的Ajax数据表格。特性包括: 1.基于CSS控制外观,内置Classic、Vista、Mac、XP四种风格。(可以自己改变风格哦) 2.提供单元格直接编辑功能,可以自定义编辑器,为单元格设置...
使用sigma grid API,开发者可以快速构建出功能完善的表格应用,提高开发效率,同时提供用户友好的交互体验。通过熟练掌握和应用这个API,你可以为你的Web应用带来更加专业和高效的数据展示解决方案。
标题 "flexigrid、sigmagrid、datatables 使用" 涉及到的是三种不同的JavaScript数据网格库,常用于Web应用程序中的数据展示和操作。这些库可以帮助开发者在网页上以表格形式展示大量数据,并提供排序、过滤、分页等...
"sigma_grid2.4"是一款专门用于开发网格布局的控件,它在IT行业中主要用于构建数据密集型的应用程序,如数据库管理工具、数据分析界面或报表系统。Grid控件是用户界面设计中的关键元素,它允许用户以表格的形式查看...
通过GridServerHandler类可以直接往前台传送sigma grid需要的数据,只要把此数据放到一个List中,赋给GridServerHandler的data,就可以将数据传给sigma grid。此外此jar包还封装了导出excel,同样将数据放到List中,...
这个压缩包包含的资源是关于如何使用Sigma Grid实现一个通过Ajax动态加载数据、支持分页、列宽可拖动以及数据排序的功能。以下是这些知识点的详细说明: 1. Ajax动态加载: Ajax(Asynchronous JavaScript and XML...
内容索引:脚本资源,Ajax/JavaScript,表格,表格排序,分页 Sigma Grid 核心基于javascriptajax,显示样式全部有CSS控制,可自定义多种显示风格,官方提供UI编辑器,支持鼠标拖动列宽、数据行排序,动态分页等功能,可...
在文件名称 "sigma_grid_release" 中,我们可以推测这可能是一个关于 Sigma 数据格栅(Grid)的发布版本。数据格栅是 Sigma 控件集中的一个重要部分,它用于展示和操作表格数据。 Sigma Grid 可能具有排序、过滤、...
"sigma_grid_with_csharp"是一个基于ASP.NET技术的开发示例,主要展示了如何利用C#语言来实现一个功能丰富的AJAX网格控件。这个控件主要用于数据展示,它结合了现代Web开发中的异步更新技术和高效的数据绑定能力,...
首先,我们要明确的是,"Sigma hackers"标签可能指的是这个工具主要服务于网络安全专家,白帽黑客或安全研究人员,他们使用此类工具来测试系统的安全性,识别潜在漏洞,并确保网络环境的安全。 Sigma 提供了一套全面...