动态排序.
这个功能恐怕任何一个程序都会要求有的, 现在不少ajax 的table 基本上都有能够点击表头进行排序的功能.使用birt 制作动态排序的报表有几种方式. 有两种已经在IBM 上那篇文章介绍了, 一种方式是在表头上加链接,连接到另一个表,并且传递参数怎么排序的, 一种方式是改变sql 语句, 在where clause 后加sort by . 另外我还有两种动态排序的方式: 一种是通过客户端javascript 排序, 一种是通过BIRT API 在运行时排序. 客户端javascript 排序方式其实已经很普遍了, 不少Ajax 库都具有这种table 插件, 象是jquery 的jsgrid 或是flexigrid 插件,YUI 的table 插件也支持不少排序方式. 这种方式只要导入几个js 文件, 一两行代码就可以了,而且还有不少漂亮的样式. 另一种通过BIRT API 在运行时改变排序行为的方式也只需要几行script 就可以完成: 在table 的onPrepare() 事件加上以下代码:
importPackage (Packages.org.eclipse.birt.report.model.api.simpleapi);
if ( params["paramSortOrder"].value != null ){
var sortCondition = SimpleElementFactory.getInstance().createSortCondition();
switch (params["paramSortOrder"].value){
case “city” :
sortCondition.setKey(”row[\"CITY\"]“);
break;
case “state” :
sortCondition.setKey(”row[\"STATE\"]“);
break;
}
sortCondition.setDirection(”asc”);
this.addSortCondition(sortCondition);
}
里面使用的是table 的 addSortCondition 函数 , 当运行的时候,你可以输入你想要排序的列,报表在运行的时候根据你输入列的名称来排序,这种排序方式对于大数据量可能不适合,它不是在sql 里面加的排序条件,而是取出来之后排序的数据
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0708tomlyn/
差不多的:
importPackage( Packages.org.eclipse.birt.report.engine.api.script.element );
importPackage( Packages.org.eclipse.birt.report.model.api.simpleapi );
var sortCondition = StructureScriptAPIFactory.createSortCondition();
var salenum = params["salenum"].value
var pluno = params["pluno"].value
if(pluno=='0'){
sortCondition.setKey("dataSetRow[\"PLU_NO\"]");
sortCondition.setDirection("asc");
}
else if(pluno=='1'){
sortCondition.setKey("dataSetRow[\"PLU_NO\"]");
sortCondition.setDirection("desc");
}
else if(salenum=='0'){
sortCondition.setKey("dataSetRow[\"SNUM\"]");
sortCondition.setDirection("asc");
}
else if(salenum=='1'){
sortCondition.setKey("dataSetRow[\"SNUM\"]");
sortCondition.setDirection("desc");
}
else{
sortCondition.setKey("dataSetRow[\"SNUM\"]");
sortCondition.setDirection("asc");
}
var sortKey = sortCondition.getStructure();
this.addSortCondition( SimpleElementFactory.getInstance().createSortCondition(
sortKey ));
birt 刷新:http://www.gemini5201314.net/birt/birt-%E4%B8%AD%E5%AE%9A%E6%97%B6%E5%88%B7%E6%96%B0%E6%8A%A5%E8%A1%A8.html
分享到:
相关推荐
手动排序文件夹 经过测试: Windows 10 x64和Thunderbird 68.0(64位)(仅电子邮件帐户) Windows 10 x64和Thunderbird 78.8.0(64位)(仅电子邮件帐户) 带有Thunderbird 86.0b3(64位)的Windows 10 x64(仅...
此外,算法(如排序)可能用于确定管道的顺序。 9. **调试和优化**:在开发过程中,学习如何使用调试工具找出和修复错误,以及如何优化代码以提高性能,是提升编程技能的重要环节。 通过这个项目,你不仅可以掌握...
7. LINQ(Language Integrated Query):C#的查询表达式,可能用于处理游戏数据,如搜索、过滤、排序等。 8. 异步编程:在处理大量计算或I/O操作时,如加载游戏资源,异步编程可以提高用户体验,避免程序阻塞。 9....
ClickHouse 中的投影(Projections)是一种优化查询执行的技术,由 Amos Bird 在 ClickHouse PPT 中详细介绍。下面是 ClickHouse 中投影的相关知识点: 一、什么是投影(What is a Projection?) 投影是一种存储...
排行榜功能的实现,利用链表结构存储玩家信息,便于排序和显示。 总体设计上,团队遵循原版游戏的基本框架,同时也加入了自己的创新,如不同难度的选择,使得游戏适应性更强。开始界面包括开始、难度选择、帮助和...
4. **排序与筛选**:提供排序(按时间、优先级)和筛选(按类别、关键词)功能,帮助用户高效管理任务。 5. **进度追踪**:对于持续性任务,可设定完成进度,实时更新任务完成状态。 Bluebird是一个广泛使用的...
6. **数据结构和算法**:游戏中的管道可能存储在一个列表或数组中,通过遍历和排序等操作来控制它们的生成和移动。此外,分数计算、游戏状态管理等也可能用到特定的数据结构和算法。 7. **游戏逻辑**:包括游戏的...
BIRT 也提供了图标引擎让你能为应用增加图标。 BIRT 当前发行的版本是 3.7.0。可通过 [1] 下载使用。 有了 BIRT,你可以为应用程序构建丰富的报表。 列表 - 列表是最简单的报表。当列表变长时,你可以把相关数据...
ani-rss 是一个基于 Android 的客户端应用程序,专为动漫爱好者设计,它利用 hummingbird.me 提供的公共 API 来获取动漫相关的资讯,并结合 RSS 阅读器功能,为用户提供个性化的新闻体验。该应用的独特之处在于其...
这个过程可能涉及到复杂的逻辑,例如排序、去重和匹配。 为了呈现比较结果,开发者可能使用了HTML和CSS来构建用户友好的界面。JavaScript可以实时更新DOM(文档对象模型),使得用户能够实时查看动漫列表的差异。...
八通特征一个全局搜索栏,不仅可以搜索您的媒体库,还可以找到与您的搜索相匹配的其他动画一键式快速从搜索结果中添加新动画动漫是按直播日排序的,因此今天播出的动漫将排在首位动漫的每周播出日是根据第一个播出的...
5. **数据结构与算法**:为了存储和操作游戏状态,开发者可能会使用数组、对象等数据结构,同时,优化的搜索和排序算法对于提高性能至关重要。例如,使用二分查找快速找到小鸟和猪堡的碰撞位置。 6. **游戏逻辑**:...
目前,该扩展程序支持Thunderbird 68-78(实验87支持) 以下是PrintingTools NG提供的主要增强功能,请参见其他功能的选项。 选项和菜单: 可从“工具/附加选项”(68),“附加”页面(78)进行选项访问 打印...
异步事件侦听器- 事件侦听器可以返回bluebird识别为承诺的所有内容,表示侦听器正在执行一些异步操作并且可能尚未完成。 事件侦听器顺序- 事件侦听器可以通过指定依赖项进行排序。 每个侦听器仅在其依赖项完成执行...
在定义行区和列区时,你可以选择数据集中的字段作为维度,并可以设置排序和分组规则。值区域的设置则包括计算方式(如SUM、COUNT等)、聚合函数以及显示格式。BIRT还支持条件格式化,使你能根据数值范围改变单元格的...
- **多种算法支持**:它包含了各种经典的算法,如冒泡排序、快速排序、二分查找、深度优先搜索、广度优先搜索等,用户可以选择不同的算法并观察其执行过程。 - **交互式编辑器**:用户不仅可以观看预设的算法,还...
6. **交互式报表**:Birt Report View生成的报表可以是交互式的,用户可以在查看报表时进行数据钻取、排序、过滤等操作,提升用户体验。 7. **部署和发布**:Birt报表可以部署到Web服务器上,通过Web应用程序供用户...
3. 报表布局:你可以自由调整元素的大小和位置,创建多页、分组、排序和过滤等功能,以满足不同需求的报表结构。 4. 表达式与脚本:BIRT支持JavaScript表达式和脚本,可以用于计算、条件判断、动态内容生成等,极大...
3. **选择**:按照适应度分数对种群进行排序,选择优秀的个体进行繁殖。 4. **变异**:通过遗传操作(如交叉、突变)生成新个体,这些操作可能包括添加新的连接、节点,或者删除现有的连接。 5. **进化**:重复...