[原创视频]不用JavaScript实现列表排序(利用追溯实现)

本资料无预览

如感兴趣请 1 金币购买后下载

立即下载

资料简介:
第一次参加报表比赛时用JavaScript实现列表数值字段的排序,虽然这个很实用,但是JavaScript对不同内核的浏览器支持程度不一样,而且一般做报表的开发人员可能对JavaScript都不是很熟悉,所以虽然我认为我写的已经很详细了,但是还是有好多网友在使用的过程中遇到很多问题,问我应该怎么调试JavaScript,然而JavaScript却不是三言两语能偶说清楚的。后来我突然想到是不是可以利用追溯来实现排序呢?我试了一下午,终于有所成。后来我就因为其他事耽搁了个把月,今天利用周末整理一下。发给大伙
排序实现的思路这里就不提了,可以参考我前两天发的博文
用基于自身的追溯来实现排序,即:报表的钻取对象还是它自己,在钻取过程中将参数改变,实现排序。
以前两天发的任意字段列表排序例。打开排序的列表如下图所示

image001.png


为了能够在追溯中改变参数,所以必须多创建几个数据项,我们先需要的数据项有5个,升序、降序(UP、DOWN)以及三个需要排序的列(A、B、C)。如下图所示:

数据项表达式就是参数所要接收的值。如图所示UP数据项的表示为’UP’。
接下来为列头增加排序显示的图片,先点击解锁,并将图像组件放到“年份”列头中,如下图所示:

点击图片,在属性栏中的来源类型改为“报表表达式”,并将表达式的内容设置为
IF ( ParamValue('sorttype') = 'UP' )
THEN
    ( 'http://127.0.0.1:9300/p2pd/pat/images/sortState_ascending.gif' )
ELSE
    ( 'http://127.0.0.1:9300/p2pd/pat/images/sortState_descending.gif' )
该表达式根据传递的参数动态显示图片。
接下来为年份创建追溯定义,为了便于理解,我们将名称定义为UP,将目标报表选中自身

点击编辑设置传递的参数

将方法选择为“传递数据项值”,并未参数设置相应的值,点击确定
我们在复制一下年份,并该其追溯名称为DOWN,将sorttype传递的数据项值改为DOWN

这时运行报表,看到年份列有两个年份,点击前一个会按照年份进行升序排列,点后面一个会按照降序排列。
为了避免这种现象,我们需要用条件样式来控制显示。
切到条件资源管理器中,新建一个布尔值变量IsUP,表达式设置为
ParamValue('sorttype') = 'UP'
将两个年份的样式变量都设置为IsUP,并将前一个年份为“是”时不显示(方框类型设置为空),后一个年份为“否”时不显示。
再次运行报表就只有一个年份,点击就会进行排序,并且图片提示当前是升序还是降序

再次进入条件资源管理器,创建一个字符串变量sortColumn,表达式为:
ParamValue('sortcolumn')
并设置3个值A、B、C

选中图片,并将sortColumn设为样式变量,根据参数的值判断图片是否显示。以年份为例,随对应的参数值为A,所以需要经B、C、其他所对应的方框类型设置为空。
此时一个字段的排序就已经完成了,我们将这三个对象复制一下啊,分别粘贴到后面几列中,然后分别设置追溯传递的值和相应的样式就可以了。
最终效果如下图所示

2010-11-08
浏览23371
下载1874

已下载用户的评价7.95分

您还未下载该资料,不能发表评价;
查看我的 待评价资源
bvnh456bvnh456网站开发工程师易联众2016-03-23
没用
顶一下 将来要用到
wangj16661wangj16661软件开发工程师newtouch2015-02-04
没用
阿嫂打法司法所打法速度
HomeMangoHomeMango商业智能工程师HTZQ2014-11-28
没用
好东西啊 跟着学习
helen_wanhelen_wan其它泛鹏天地2014-10-20
没用
感觉很实用
kitczkkitczk软件开发工程师杭州政务2014-10-09
没用
好东西 必须顶 :handshake
annie_yuanannie_yuan数据库管理员solari2014-09-16
没用
謝謝分享
annie_yuanannie_yuan数据库管理员solari2014-09-16
没用
謝謝分享
annie_yuanannie_yuan数据库管理员solari2014-09-16
没用
謝謝分享
annie_yuanannie_yuan数据库管理员solari2014-09-16
没用
謝謝分享
annie_yuanannie_yuan数据库管理员solari2014-09-16
没用
謝謝分享

贡献者

interboy软件开发工程师,北京中电普华信息技术有限公司
X社区推广