cognos自定义升降序

 
因业务需要在报表展示页面自定义点击展示排序方式。
解决方案如下:

第一步:创建如下图HTML项目

第二步:设置提示框属性如下图:(静态选项内容填写交叉表或者列表当中需要自定义排序的列)

 

静态选项内容如下图:

第三步:添加排序数据项,哪个列需要排序,就写哪个列(cognos自带函数rank,asc / desc ,默认为desc)。此处我对收入数据项进行降序排列。如设置多个数据排序,重复此步骤。

第四步:再次拖一个数据项,对排序进行判断。?px1?为第二步提示框名称。?px1?='values'为提示框设置的静态选项内容。

case when ?px1?=1
then ([rank1])
 when ?px1?=2
then ([rank2])
 when ?px1?=3
then ([rank3])
 when ?px1?=4
then ([rank4])
 when ?px1?=5
then ([rank5])
 when ?px1?=6
then ([rank6])
 when ?px1?=7
then ([rank7])
 when ?px1?=8
then ([rank8])
 when ?px1?=9
then ([rank9])
 when ?px1?=10
then ([rank10])
 when ?px1?=11
then ([rank11])
 when ?px1?=12
then ([rank12])
 when ?px1?=13
then ([rank13])
else
 ([rank14])
end

第五步:设置提示框左右HTML项目内容,如下图:

代码如下:

<script>
//获取 cognos 中的值提示对象
var form=getFormWarpRequest();
var sortItem=form._oLstChoicesSORT1;

function sortIt(flag){
if(flag==1){
sortItem[0].checked=true;
}else if(flag==2){
sortItem[1].checked=true;
}else if(flag==3){
sortItem[2].checked=true;
}else if(flag==4){
sortItem[3].checked=true;
}
else if(flag==5){
sortItem[4].checked=true;
}
else if(flag==6){
sortItem[5].checked=true;
}
else if(flag==7){
sortItem[6].checked=true;
}
else if(flag==8){
sortItem[7].checked=true;
}
else if(flag==9){
sortItem[8].checked=true;
}

else if(flag==10){
sortItem[9].checked=true;
}
else if(flag==11){
sortItem[10].checked=true;
}
else if(flag==12){
sortItem[11].checked=true;
}
else if(flag==13){
sortItem[12].checked=true;
}
else{
sortItem[13].checked=true;
}
promptButtonFinish();
}
</script>

 

第六步:设置交叉表列HTML内容,如下图:

代码如下:

<u οnclick=sortIt(1) style="cursor:hand;text-decoration:none" >
  <img src="../images/down.png"  style="width:11px;height:11px;">
</u>

第七步:选中行进行排序,如下图:

至此所以功能全部完成。

效果如下:

备注:页面在首次加载时不点击排序条件,提示框条件选择无法选择点击完成 ,原因是需要给排序首次加载默认值 。

方案:在提示页面添加html项目,添加如下js代码

       fw._oLstChoicespaixu.options[2].selected=true;

 

转载于:https://www.cnblogs.com/hfj1/p/8866749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值