如何使用JavaScript在BIRT上对ip地址进行排序
How can I sort ip addresses on BIRT with JavaScript?
我是BIRT的新手,不是javascript专业人士。我正在使用birt通过从数据库中获取一些信息来创建一些报告。我在列上有作为字符串的ip地址。BIRT为表提供了一个排序部分,我有这个表达式;
if(params["sorting"].value=="startdate")
dataSetRow["r_date_0"]
else if(params["sorting"].value=="enddate")
dataSetRow["r_date_1"]
else if(params["sorting"].value=="ipaddress")
dataSetRow["r_vchar_2"]
else
dataSetRow["r_vchar_3"]
这非常适用于startdate和enddate,但当涉及到ipad时,它会将它们作为字符串进行比较,所以在排序的报告中,我看到"2"比"199"大。
我可以用"分隔ip地址并将它们解析为整数,然后比较我使用的是python还是java,但我不确定如何在BIRT环境中使用javascript。
任何关于如何修改我的表达以满足我的需求的想法都将受到赞赏。
在数据集中使用计算列,在该列中,您可以将ip地址转换为可以排序的形式,例如
var addrArray = dataSetRow["r_vchar_2"].split(".");
var num = 0;
for (var i=0;i<addrArray.length;i++) {
var power = 3-i;
num += ((parseInt(addrArray[i])%256 * Math.pow(256,power)));
}
num;
您可以使用此字段进行排序,而原始字段用于显示ip地址
相关文章:
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 使用promise和mongoose对文档进行排序
- Selectize.js:如何对整数值的选项进行排序
- Javascript排序的图像弹出窗口..可以't单独弹出
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 如何通过引用var Using DataTables来进行分页或排序
- 为什么HTML5拖放的目标是孩子?(可排序列表)
- 使用正则表达式评估电子邮件地址时出现性能问题
- 跟踪用户点击Adsense广告的IP地址
- AngularJs对所有页面中的所有记录进行排序
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 将谷歌自动完成地址信息放在页面上,而不是表格中
- 按从高到低对多个int变量进行排序
- jQuery UI可排序-多连接列表拖动
- Javascript排序字符串或数字
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- 使用 IP 地址和超链接对数据表进行排序
- 如何使用JavaScript在BIRT上对ip地址进行排序
- ip地址排序在datatable中不起作用
- 如何在Angular/Javascript中对街道地址进行排序