动态排序.
这个功能恐怕任何一个程序都会要求有的, 现在不少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(仅...
BIRT 也提供了图标引擎让你能为应用增加图标。 BIRT 当前发行的版本是 3.7.0。可通过 [1] 下载使用。 有了 BIRT,你可以为应用程序构建丰富的报表。 列表 - 列表是最简单的报表。当列表变长时,你可以把相关数据...
动画 使用 hummingbird.me 公共 api 和 rss 阅读器的 Android 客户端应用程序使用聚类算法对传入的新闻进行排序。
八通特征一个全局搜索栏,不仅可以搜索您的媒体库,还可以找到与您的搜索相匹配的其他动画一键式快速从搜索结果中添加新动画动漫是按直播日排序的,因此今天播出的动漫将排在首位动漫的每周播出日是根据第一个播出的...
目前,该扩展程序支持Thunderbird 68-78(实验87支持) 以下是PrintingTools NG提供的主要增强功能,请参见其他功能的选项。 选项和菜单: 可从“工具/附加选项”(68),“附加”页面(78)进行选项访问 打印...
异步事件侦听器- 事件侦听器可以返回bluebird识别为承诺的所有内容,表示侦听器正在执行一些异步操作并且可能尚未完成。 事件侦听器顺序- 事件侦听器可以通过指定依赖项进行排序。 每个侦听器仅在其依赖项完成执行...
在下面,您可以找到我正在从事的项目的列表,并按上次“提交”的时间顺序进行排序: -AudioPot +是使用Arduino为计算机生产音量旋钮的第二次尝试。 它是原始项目的演变。 该版本完全基于微控制器代码,最终获得了可...
输出在./data/output.txt实施细节语NodeJS,lodash库,bluebird库保证算法从提供的文件中读取Json对象,并创建一个Hashmap,该映射将制造商映射到该制造商的产品列表。 对于每个列表,我的算法都使用哈希图从列表的...
第一部分 NoSQL入门 第1章 NoSQL的概念及适用范围 2 ...17.10 Hummingbird和C5T 274 17.11 GeoCouch 275 17.12 Alchemy Database 276 17.13 Webdis 276 17.14 小结 276 附录A 安装与配置 278
富文本解析,折线图,MD5,bluebird 小游戏-别踩白块 小熊的日记 小程序地图定位 小程序完整demo:飞翔的小鸟:canvas实现,java后端(适用1221) 小程序官方Demo 小程序版2048 小程序页面生成器 康爱多微商城:学习...
基于以下是按星数排序的前 500 个 Markdown Github 存储库列表。 已用于 GitHub 搜索 API 的查询是“Markdown”。 日期:06/01/2020 注意:此列表将定期更新。 ID 名称 描述 语 星星 货叉 1 Google Chrome、Firefox ...
但请尽量遵循现有格式并按字母顺序对项目进行排序。项目输入法[avim] ( ) - Firefox、Thunderbird 等的越南语输入法扩展。 - 在 Linux 下的 Sublime Text 2 中使用 IM(ibus、scim)弹出文本输入字段以输入文本。 -...
基于以下是按星数排序的前 200 个强化学习 Github 存储库列表。 已用于 GitHub 搜索 API 的查询是“强化学习”。 日期:03/16/2018 注意:此列表将定期更新。 ID 名称 描述 语 星星 货叉 1 用于开发和比较强化学习...
@emacs_zh telegram 群组用户的 Emacs 配置文件 以名称排序。提交 PR 时请首先使用 C-c ^ 排序。...Amos Bird @amosbird Auxy Sweet Evil Emacs Andy Warhol @andywarhol2 Bob Pumpkin ɓuızıuoI @Ionizing
非常基本的查询API,具有过滤和排序功能 您可以开始使用它,然后在特定的JSON字段上创建索引,编写自己的复杂查询,创建视图或pgjson.main化视图,将pgjson.main表中的数据与同一数据库中的其他表混合,甚至将所有...
它利用了SM2PH中心框架(KD4v,MSV3d,BIRD,..)中的数据集成功能,并结合了内部开发的基因优先排序方法。 它目前基于基因序列,蛋白质-蛋白质相互作用,基因表达,致病概率,基因组背景,包含六个优先级划分模块...
创建两个类Bird(具有字段:name和canFly)和Plane(具有字段:mark和highFly),它们实现了IFlyable接口。 创建IFlyable对象列表,并向其中添加一些“鸟”和“飞机”。 为列表中的每个项目调用Fly()方法。 6.2。...
一个简单的查看器,可以查看mbox文件,例如Thunderbird档案,Google邮件档案或简单的Eml文件。 特征 大文件支持> 4Gb; 快速解析mbox; 快速访问附件; 预览图片附件; 导出所有附件; 以Eml导出单个邮件; 将...
投资者根据匹配的搜索条件数进行排序,以便最佳匹配出现在顶部。 创建一个帐户,将投资者保存到您的列表中。 进行多次搜索,并在列表中添加和删除任意数量的投资者。 将它们导出到.csv文件,以跟踪外展并与您的同事...